- 1、本文档共4页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
pythonsocket通信recv丢包_pythonsocket⽹络编程笔记
(UDP+T。。。
端⼝
在linux系统中,有65536(2的16次⽅)个端⼝,分为:
知名端⼝(Well Known Ports):0-1023,如80端⼝分配给HTTP服务,21端⼝分配给FTP服务。
动态端⼝(Dynamic Ports):1024-65535,⼀般不固定分配某种服务,⽽是动态分配。
IP地址
每⼀个IP地址包括两部分:⽹络地址和主机地址
A类地址范围:-54
B类地址范围:-54
C类地址范围:-54(常⽤)
D类地址⽤于多点⼴播
E类地址保留,仅作实验和开发⽤
IP地址127.0.0.1~127.255.255.255⽤于回路测试
socket
socket(简称套接字) 是进程间通信的⼀种⽅式,它与其他进程间通信的⼀个主要不同是:它能实现不同主机间的进程间通信,我们⽹络上
各种各样的服务⼤多都是基于 Socket 来完成通信的。
套接字使⽤流程:
创建套接字
使⽤套接字收/发数据
关闭套接字
importsocket#创建udp的套接字
udp_socket =socket.socket(socket.AF_INET, socket.SOCK_DGRAM)#创建tcp的套接字
tcp_socket =socket.socket(socket.AF_INET, socket.SOCK_STREAM)#...这⾥是使⽤套接字的功能(省略)...#不⽤的时候,关闭套接字
udp_socket.close()
tcp_socket.close()
UDP(User Datagram Protocol)
中⽂名是⽤户数据报协议,是OSI(Open System Interconnection,开放式系统互联) 参考模型中⼀种⽆连接的传输层协议。
创建⼀个基于udp的⽹络程序流程很简单,具体步骤如下 :
创建[socket()]客户端套接字
发送 [sendto()]/接收[recvfrom()]数据
关闭[close()]套接字
UDP发送 (客户端):
importsocket#1. 创建udp套接字
udp_socket =socket(AF_INET, SOCK_DGRAM)#2. 准备接收⽅的地址#03表⽰⽬的ip地址#8080表⽰⽬的端⼝
dest_addr = (03, 8080) #注意 是元组,ip是字符串,端⼝是数字
#3. 从键盘获取数据
send_data = input(请输⼊要发送的数据:)#4. 发送数据到指定的电脑上的指定程序中
udp_socket.sendto(send_data.encode(utf-8), dest_addr)#5. 关闭套接字
udp_socket.close()
UDP接收(服务端):
importsocket#1. 创建udp套接字
udp_socket =socket(AF_INET, SOCK_DGRAM)#2. 绑定IP和端⼝
udp_socket.bind(,7788)#3. 等待接收对⽅发送的数据
recv_data = udp_socket.recvfrom(1024) #1024表⽰本次接收的最⼤字节数
#4. 显⽰对⽅发送的数据#接收到的数据recv_data是⼀个元组#第1个元素是对⽅发送的数据,需要使⽤发送时的字符集进⾏decode解码#第
2个元素是对⽅的ip和端⼝
print(recv_data[0].decode(utf-8))print(recv_data[1])#5. 关闭套接字
udp_socket.close()
使⽤socket连接阿⾥云服务器
客户端在window10本地,服务端在阿⾥云服务器上,让他们能够通信这⾥需要注意三点(前提是本地机器能够ping通阿⾥云服务器的公⽹
IP):
1、服务端绑定的IP地址需要为阿⾥云服务器的私有IP地址,即ifconfig中的ip,或者绑定时ip地址给空字符串,这样也会默认绑定私有IP
2、客户端连接的IP地址需要为阿⾥云服务器的公⽹IP地址,不能为私有IP。
3、在阿⾥云控制台的安全组中需要开启相应的协议和端⼝权限,不然⽆法连接进阿⾥云服务器,协议为此次连接的协议,端⼝为服务器绑
定的端⼝,授权对象为客户端的IP或者/0表⽰所有IP都可访问
TCP(Transmission Control Protocol)
中⽂名是传输控制协议,是⼀种⾯向连接的、可靠的、基于字节流的传输层通信协议,由IETF的
您可能关注的文档
- 当代社会,合作比竞争更重要.pdf
- java中设计模式-delegate(代理).pdf
- golang基础小记(24)——reflect.DeepEqual函数:判断两个值是否一致.pdf
- golangjson获取所有key_请使用JSON格式记录日志,好吗?.pdf
- Golangmap线程安全实现及sync.map使用及原理解析。.pdf
- 三年级上册数学试题-第5单元四则混合运算一单元测试冀教版.pdf
- 一年级上学期期末语文综合试卷测试卷(附答案).pdf
- 《数学建模》之层次分析法.pdf
- MEMORY存储芯片MT29F256G08AUAAAC5-ITZ中文规格书.pdf
- TD网络结构组成.pdf
文档评论(0)