前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Python--socket中的UDP

Python--socket中的UDP

作者头像
sjw1998
发布2019-09-28 13:12:33
3970
发布2019-09-28 13:12:33
举报
文章被收录于专栏:孤独的S孤独的S

在socket中除了tcp还有UDP,如果说tcp是一对一,则udp则是一对多,udp的服务端可以接收多个客户端,也可以实现文件传输之类的,不过这里简略的说一下使用udp的方法。

udp的服务端

from socket import *
ip_port = ('127.0.0.1', 8000)
back_log = 5
buffer_size = 1024
ss = socket(AF_INET, SOCK_DGRAM)
ss.bind(ip_port)
while 1:
    data, addr = ss.recvfrom(buffer_size)
    print(data)
    print(addr)
    ss.sendto(data, addr)

ss.close()

比起tcp简单一点,只需要绑定ip和端口便可以了,不同链接客户端,然后可以直接接收客户端发送来的数据了。

结果:

b'123'
('127.0.0.1', 63620)

这里接收的东西有,data和addr,一个是接收的数据的的内容第二个是接收的ip和端口,然后对接收的数据decode('utf-8'),即可提取出内容

print(data.decode('utf-8'))

输出:

123
('127.0.0.1', 63620)

客户端则是更简单了

from socket import *
ip_port = ('127.0.0.1', 8000)
back_log = 5
buffer_size = 1024
cs = socket(AF_INET, SOCK_DGRAM)

while 1:
    msg = input('请输入:')
    cs.sendto(msg.encode('utf-8'), ip_port)
    data ,addr= cs.recvfrom(buffer_size)
    print("服务器发来:", data)
cs.close()

直接就可以用socket发送数据了,

udp的话如果客户端关闭了,服务端还是可以继续运行,然后再打开客户端还是可以继续链接到服务端的

人生不易,我用python---------------------------------------------------

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2019-03-31,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 孤独的S 微信公众号,前往查看

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

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

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