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

Python中socket的UDP学习(1)

作者头像
萌海无涯
发布2019-08-03 11:04:05
5190
发布2019-08-03 11:04:05
举报
文章被收录于专栏:萌海无涯萌海无涯

TCP是建立可靠连接,并且通信双方都可以以流的形式发送数据。相对TCP,UDP则是面向无连接的协议。

使用UDP协议时,不需要建立连接,只需要知道对方的IP地址和端口号,就可以直接发数据包。但是,能不能到达就不知道了。

虽然用UDP传输数据不可靠,但它的优点是和TCP比,速度快,对于不要求可靠到达的数据,就可以使用UDP协议。

导入socket包

代码语言:javascript
复制
import socket

要想使用需要先创建套接字对象,

其中socket.AF_INET 表示IPV4协议

socket.SOCK_DGRAM 表示UDP协议

代码语言:javascript
复制
# 创建套接字socket_udp = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
# 绑定端口socket_udp.bind((socket.gethostname(), 9999))

recvfrom 从缓冲区读一个字节的数据,我们设置1024就好。

也可以根据发送的大小设置接收的大小

代码语言:javascript
复制
socket_date, socket_port = socket_udp.recvfrom(1024)
print("来自{}:的消息 \n 内容是:{} \n ".format(socket_port, socket_date.decode("utf-8")))

以下是源代码,明天接着发UDP发送的

代码语言:javascript
复制
import socket
def main():    # 创建套接字    socket_udp = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
    # 绑定端口    socket_udp.bind((socket.gethostname(), 9999))
    # 接收数据    while True:        socket_date, socket_port = socket_udp.recvfrom(1024)                print("来自{}:的消息 \n 内容是:{} \n ".format(socket_port, socket_date.decode("utf-8")))
    # 关闭连接    socket_udp.close()
if __name__ == "__main__":    main()
本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2019-07-30,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 萌海无涯 微信公众号,前往查看

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

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

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