python接收udp数据,python udp 传输文件
UDP:
创建UDP套接字
导入插座
UDP _ socket=socket . socket(socket . af _ inet,socket。SOCK_DGRAM).
关闭UDP套接字
udp _套接字. close(
使用UDP套接字发送数据
UDP _ socket.send to(字节型数据,目标套接字地址))。
使用UDP套接字接收数据块传入数据
字节数据,发送方套接字地址=udpp_socket.recvfrom(本次接收的最大长度))。) ) ) )。
使用固定端口绑定
Udp_socket.bind(本地套接字地址)))))。
TCP:
1.TCP特征
面向连接-在通信之前必须建立连接。
可靠传输
响应机制
重新传输超时
序列号
检查机制
流控制
2.TCP客户端进程
connect函数创建与服务器的连接。
参数socket (IP,port))))。
Recv函数接收TCP数据等待块
参数指示此接收的最大长度。
返回值的两个功能
通常情况下,你收到的是对方发给你的数据字节。
如果收到的数据是B ,说明对方已经断线。
Send函数发送TCP数据。
参数指示要发送的数据的字节类型。
为返回值成功发送的字节数-已理解
3.服务器进程
列表函数
设置为被动套接字-接受来自客户端的连接。
接受函数
与客户端关联的套接字,client address=accept()block waiting——从等待的服务器检索客户服务。
4.2MSL状态
根据TCP,先占方需要等待30s-2min才能确认对方会收到最终的ACK。
TCP连接使用的端口在30s-2min内无法理解重新绑定。
设置解决方案集套接字选项套接字选项。
sock.setsockopt(
地址使用问题的三个原因
1.pycharm同时启动多个程序绑定同一个端口。
2.pycharm守护进程继续占用最后一个端口。
3.TCP 2MSL时间
-设置socket选项,终端运行。
忽略2MSL的时间规定,TCP服务器无需等待2 MSL就可以在重新绑定前了解端口。
server _ socket . setsockopt(socket . sol _ socket,socket。SO_REUSEADDR,1)).
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。