Loading [MathJax]/jax/output/CommonHTML/config.js
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >python udp编程_Python核心编程

python udp编程_Python核心编程

作者头像
全栈程序员站长
发布于 2022-10-04 12:39:58
发布于 2022-10-04 12:39:58
1.5K00
代码可运行
举报
运行总次数:0
代码可运行

大家好,又见面了,我是你们的朋友全栈君。

使用Python进行UDP编程

实际遇到需要解决问题真是最好的老师,断更了两天,主要还是自己贪玩了,没有把握好时间,另外就是我一直在研究怎么入手通过SFP光口来控制高精度电源。

1 SFP光口

为什么使用SFP光口而不是直接以太网,主要是SFP光口可以达到10GHz的刷新频率,而网口只能支持1Hz的刷新频率。这就是最大的实际应用场景区别要求。因为我最终的目的是需要另一台FPGA通过SFP连接电源上的SFP光口。故需要探究看看怎么通过SFP控制。 首先根据说明手册,发现就只是告诉如下信息:

  • 告诉了连接方式,如何连接:星型连接,直接连接等。
  • UDP的帧的各个含义
  • 1000M Base-T 1000Base-X 千兆网线 千兆口一般有电口即RJ45和光口即SFP。

发现仔细阅读了一遍说明书,还是一头雾水,还是没有告诉你该怎么控制,一点头绪没有。一定还是不要害羞尽管找技术支持,因为我的是意大利电源,所以主要是通过发邮件,幸好遇到的技术支持人非常的及时,基本第二天就给我回复消息了,当然你也绝不能指望他能给你有更大的帮助,只是最起码能验证自己心里的猜想,我又问他要了一个demo,他给我发了一段python代码。

2 解决方案一(有待验证,看是否成功)

我原本以为是要在另一台FPGA上写UDP呢,这可就难了,而且还需要别人的帮助,这就不是自己能掌控的事情了,最主要的事情就是python代码就根本用不上了。这有点不符合技术支持的意思。 想办法怎么使用PC和电源的SFP口连接上—》就想到了交换机 找到了 千兆光口和千兆网口的交换机 解决PC和电源上SFP光口的连接问题。

  1. 买交换机

这个是TP-LINK的产品,看了一下还不贵,不到200块钱,明天可以找导师去买一下,即使失败了 以后也能用上。

2.学习python来UDP编程

在网上找了UDP编程的例子,就是自己利用一个本地回环127.0.0.1进行测试喜爱,发现是可以的,同时对于每个语句的功能看懂。 分别分为服务端 和客户端两个程序,并且分别运行。 需要知道以下概念基本知识点: IP:它是用来标识处于Internet之中的端系统的。 MAC:它是用于在同一局域网中标识不同的计算机的。 端口号:它是用来标识同一台主机上不同的网路应用程序的。 套接字:应用程序进行通信的一种抽象机制。每一个进程都有一个或者多个套接字。当生成一个套接字的时候,就会为它分配一个端口号。我们是在C/S架构上应用UDP套接字编程。那么,服务器总是在等待客户端的请求。客户端在请求的时候,它会告知目的地址(服务器的IP地址和目的进程的端口号)。

  • 服务端程序
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
#python3实现循环无连接服务器
#包含socket库
from socket import *;
#服务器端口
server_port = 8000;
#创建套接字,设置Ipv4地址以及指定UDP连接
server_socket = socket(AF_INET,SOCK_DGRAM);
#绑定IP地址和端口号。监听该端口
server_socket.bind(('',server_port));
while True:
print("receive data:");
#从客户端发来的包中获取数据存放在data中,将源地址放在client_address中。
#设置缓存大小为4096。完成这些功能需要使用函数recvfrom.
data,client_address = server_socket.recvfrom(4096);
print(data.decode()); #打印客户端的数
server_socket.sendto(("success!").encode(),client_address);  # encode()进行编码
server_socket.close();
  • 客户端程序
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
#python3实现循环无连接服务器
#包含socket库
#python3实现的客户端代码
#包含网络模块
from socket import *;
#服务器地址以及端口号
#127.0.0.1是本地回环地址,经常用来进行测试,也可以使用域名localhost来代替该ip地址
server_address = '127.0.0.1';
server_port = 8000;
#创建套接字 ipv4地址以及UDP协议
client_socket = socket(AF_INET,SOCK_DGRAM);
while True:
data = input("please input:");
client_socket.sendto(data.encode(),(server_address,server_port));        # 第一个参数是 内容,第二个参数是要发给的IP地址和端口
recv,server_addr = client_socket.recvfrom(4096);        
print(recv.decode());
client_socket.close();```

中间报错就是 数据类型不对,byte和str的数据类型 转换的问题。通过使用以下函数来解决: python bytes和str两种类型可以通过函数encode()和decode()相互转换, str→bytes:encode()方法。str通过encode()方法可以转换为bytes。 bytes→str:decode()方法。如果我们从网络或磁盘上读取了字节流,那么读到的数据就是bytes。要把bytes变为str,就需要用decode()方法。

目前这是自己想到的解决方案一,若是不行的话,看看是继续坚持遇到问题就继续找原因,还是大方向就错了,应该是写FPGA来。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/196035.html原文链接:https://javaforall.cn

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2022年9月8日 上,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
☀️苏州程序大白用万字解析Python网络编程与Web编程☀️《❤️记得收藏❤️》
在现实生产环境中,一个服务端不可能只就服务于一个客户端;通常一个服务端是要能服务多个客户端,以下是多任务的实现思路:
苏州程序大白
2021/10/25
9960
☀️苏州程序大白用万字解析Python网络编程与Web编程☀️《❤️记得收藏❤️》
使用python实现UDP编程
UDP说自己太难了,没想到最后是一个舔狗。一般我们讲技术的时候,都是讲太多理论,搞得我们一脸懵逼,今天我们不这样做,我们直接讲一个生动的例子来讲讲 UDP
公众号---人生代码
2019/09/17
1.9K0
使用python实现UDP编程
Python基础21-网络编程
-多年互联网运维工作经验,曾负责过大规模集群架构自动化运维管理工作。 -擅长Web集群架构与自动化运维,曾负责国内某大型金融公司运维工作。 -devops项目经理兼DBA。 -开发过一套自动化运维平台(功能如下): 1)整合了各个公有云API,自主创建云主机。 2)ELK自动化收集日志功能。 3)Saltstack自动化运维统一配置管理工具。 4)Git、Jenkins自动化代码上线及自动化测试平台。 5)堡垒机,连接Linux、Windows平台及日志审计。 6)SQL执行及审批流程。 7)慢查询日志分析web界面。
DriverZeng
2022/09/26
6010
Python基础21-网络编程
一文带你了解Python Socket 编程
Socket又称为套接字,它是所有网络通信的基础。网络通信其实就是进程间的通信,Socket主要是使用IP地址,协议,端口号来标识一个进程。端口号的范围为0~65535(用户端口号一般大于1024),协议有很多种,一般我们经常用到的就是TCP,IP,UDP。下面我们来详细了解下Socket吧。
前端皮皮
2022/08/17
4960
一文带你了解Python Socket 编程
3.网络编程 网络编程
操作系统:(Operating System,简称OS)是管理和控制计算机硬件与软件资源的计算机程序,是直接运行在“裸机”上的最基本的系统软件,任何其他软件都必须在操作系统的支持下才能运行。
changxin7
2019/08/20
2.6K0
3.网络编程 网络编程
python网络编程
在学习 TCP/IP 协议之前,一直对网络编程很陌生,懂得原理之后再看网络编程的代码就觉得十分熟悉,借这个机会来总结记录一下,socket 编程的一般流程如下图,我们应该要将这些流程都记熟,用的时候按照顺序写代码就行了。很多语言都提供了 socket 的库可以直接调用,这次就用 python 来写写吧。
棒棒鸡不棒
2022/09/02
6130
python网络编程
UDP套接字编程——Python语言描述
版权声明:本文为博主原创文章,转载请注明博客地址: https://blog.csdn.net/zy010101/article/details/88639774
zy010101
2019/05/25
8870
Python UDP 协议网络编程《三》
TFTP 是一个传输文件的简单协议,它基于UDP协议而实现。 TFTP (Trivial File Transfer Protocol):简称文件传输协议。 TFTP 是TCP/IP协议族中的一个用来在客户端与服务器之间进行简单文件传输的协议,传输不复杂、开销不大的文件。端口号固定为69。
Wu_Candy
2022/07/04
4840
Python UDP 协议网络编程《三》
30天拿下Python之使用网络
在上一节,我们介绍了如何在Python中使用Json,包括:Json序列化、Json反序列化、读Json文件、写Json文件、将类对象转换为Json、将Json转换为类对象等内容。在这一节,我们将介绍如何在Python中使用网络。Python网络编程覆盖的范围非常广,包括:套接字编程、socketserver、HTTP和Web开发、异步编程和asyncio等。在本专栏中,我们将只介绍比较基础的套接字编程和socketserver。
用户6256742
2024/06/30
2570
python socket
TCP是一种面向连接的、可靠的、基于字节流的传输层通信协议。所以在进行TCP链接时首先要开启服务器端口。
py3study
2020/01/19
5890
Python升级之路( Lv16 ) 网络编程
ip地址的分类 常用地址分类如下所示, E类地址: 224.0.0.1~239.255.255.254, F类地址: 240.0..0.1~239.255.255.254. 因为使用较少因此不做单独介绍
时间静止不是简史
2022/10/28
1K0
Python升级之路( Lv16 ) 网络编程
30.3. 企业级开发进阶2.3:UDP编程
回顾TCP协议:一个非常重要的数据传输协议,很多网络协议都是以TCP协议为基础的;TCP协议要求服务器和客户端通过三次握手交互的方式建立可靠的连接,然后再进行数据保温的发送,在发送过程中保证数据包的顺序和数量不会丢失,最后如果要断开连接需要四次挥手的方式进行连接的安全断开。
大牧莫邪
2018/08/27
4810
网络编程中的TCP和UDP
TCP( Transmission control protocol )即传输控制协议,是一种面向连接、可靠的数据传输协议,它是为了在不可靠的互联网上提供可靠的端到端字节流而专门设计的一个传输协议。
@小森
2024/07/25
2080
网络编程中的TCP和UDP
Python 网络编程
IP地址:用来在网络中标记一台电脑,比如 192.168.1.1 ,在本地局域网上是唯一的。
忆想不到的晖
2021/03/28
1.5K0
Python 网络编程
Python网络编程(UDP和TCP)
Socket简介什么是Socket创建一个SocketUDP网络程序UDP优缺点:
用户7886150
2020/12/30
1.2K0
用 Python 来实现客户端或服务器(TCP/IP 协议)
用 Python 来实现创建一个简单的客户端或服务器,可以使用 Python 的内置库 socket。这个库提供了对底层 TCP/IP 协议的访问,可以用来编写网络程序。
时代疯
2025/01/22
3590
掌握Python的网络编程:套接字编程入门
随着互联网的快速发展,网络编程成为了现代软件开发中不可或缺的一部分。Python作为一种广泛使用的编程语言,提供了丰富的库和工具,使得网络编程变得简单而强大。本文将详细介绍Python中的套接字编程,帮助您入门网络编程。
网络技术联盟站
2023/07/13
3720
Python网络编程
TCP 客户端与服务器之间建立连接需要进行三次握手 客户端--->服务器 服务器--->客户端 客户端--->服务器,这样做的好处是可以保证数据的完整缺点是慢.
云深无际
2020/11/19
8320
Python网络编程
Python网络编程
套接字是计算机网络数据结构。在任何类型的通信开始之前,网络应用程序必须创建套接字。可以将它们比作电话插孔,没有它将无法进行通信。
py3study
2020/01/15
8430
TCP通信
IP为空表示绑定本机的所有ip,如果填了某一个IP表示绑定了某一张网卡,只能接受这一网卡的消息。但是127.0.0.1绑定后,只能是本机给本机发送消息(其他人是发送不了的,因为此IP表示的是自己的电脑)
小闫同学啊
2019/07/18
1.2K0
相关推荐
☀️苏州程序大白用万字解析Python网络编程与Web编程☀️《❤️记得收藏❤️》
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
本文部分代码块支持一键运行,欢迎体验
本文部分代码块支持一键运行,欢迎体验