前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >python UDP套接字通信

python UDP套接字通信

作者头像
py3study
发布2020-01-19 11:39:10
1.5K0
发布2020-01-19 11:39:10
举报
文章被收录于专栏:python3python3

UDPserver.py

代码语言:javascript
复制
 1 import socket
 2 #导入套接字模块
 3 
 4 s = socket.socket(socket.AF_INET,socket.SOCK_DGRAM)
 5 # - socket.AF_INET:IPV4
 6 # - socket.STREAM:TCP
 7 # - socket.DGRAM:UDP
 8 
 9 s.bind(('',25555))
10 #绑定套接字有效地址和端口
11 #''空位任何地址 本地的127.0.0.1 和局域网还有自己真实的ip
12 print('[+] Server Open.....')
13 
14 while True:
15     try:
16         data,c_addr = s.recvfrom(1024)
17         #一次性接受1024bytes的数据 ,返回一个元组,其中有数据和地址
18         #UDP不需要构成连接,直接发送即可
19         print('from:',c_addr)
20         #c_addr是一个地址,发送消息的客户端的IP和端口的二元组
21         print('say:%s'%(data.decode('utf-8')))
22         msg = data.decode('utf-8')
23         s.sendto(msg.encode('utf-8'),c_addr)
24         #发送信息,其中有两个参数,一个是信息,一个是目标地址和端口
25     except KeyboardInterrupt:
26         break
27 
28 print('[+] Server Close......')
29 s.close

UDPclient.py

代码语言:javascript
复制
 1 import socket
 2 #导入套接字模块
 3 
 4 c = socket.socket(socket.AF_INET,socket.SOCK_DGRAM)
 5 # - socket.AF_INET:IPV4
 6 # - socket.STREAM:TCP
 7 # - socket.DGRAM:UDP
 8 
 9 while True:
10     try:
11         msg = input('>>>')
12         if msg == 0:
13             #判断输入是否为空 就是直接回车了
14             continue
15         #UDP不需要构成连接,直接发送即可
16         c.sendto(msg.encode('utf-8'),('127.0.0.1',25555))
17         #发送消息,其中两个参数,第一个是要发送的信息
18         #第二个是发送的ip地址和端口,是一个元组
19 
20         data,s_addr = c.recvfrom(1024)
21 
22         #c_addr是一个地址,发送消息的客户端的IP和端口的二元组
23         print('$: %s'%(data.decode('utf-8')))
24     except KeyboardInterrupt:
25         break
26 
27 c.close()
UDP套接字模型
  • UDP不需要构成连接,直接发送即可
  • 服务端模型:
    • s = socket.socket(socket.AF_INET,socket.SOCK_DGRAM)
    • s.bind(('',25555))
      • data,c_addr = s.recvfrom(1024)
        • 别人发来的消息 就直接发到s服务端套接字了
        • data:发来的数据
        • c_addr:谁发的
      • s.sendto(msg, c_addr)
  • send recv
  • sendto recvfrom
    • 都是阻塞的
本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2019-03-16 ,如有侵权请联系 cloudcommunity@tencent.com 删除

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

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

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

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • UDP套接字模型
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档