专栏首页萌海无涯Python中socket的UDP学习(1)

Python中socket的UDP学习(1)

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

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

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

导入socket包

import socket

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

其中socket.AF_INET 表示IPV4协议

socket.SOCK_DGRAM 表示UDP协议

# 创建套接字socket_udp = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
# 绑定端口socket_udp.bind((socket.gethostname(), 9999))

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

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

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

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

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()

本文分享自微信公众号 - 萌海无涯(mhwyhtwa),作者:萌海无涯

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2019-07-30

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • Python中socket的UDP学习(3)

    萌海无涯
  • python中socket的tcp学习(2)

    服务器进程首先要绑定一个端口并监听来自其他客户端的连接。如果某个客户端连接过来了,服务器就与该客户端建立Socket连接,随后的通信就靠这个Socket连接了。

    萌海无涯
  • python中socket的tcp学习(1)

    大多数连接都是可靠的TCP连接。创建TCP连接时,主动发起连接的叫客户端,被动响应连接的叫服务器。

    萌海无涯
  • [javaSE] 网络编程(浏览器客户端-自定义服务端)

    获取PrintWriter对象,new出来,构造参数:OutputSream对象,true自动刷新

    陶士涵
  • php socket用法你知道吗?

    本篇文章分享一个简单的socket示例,用php。实现一个接收输入字符串,处理并返回这个字符串到客户端的TCP服务。 产生一个 socket 服务端 <?php...

    wangxl
  • Python黑帽编程2.8 套接字编程

    套接字编程在本系列教程中地位并不是很突出,但是我们观察网络应用,绝大多数都是基于Socket来做的,哪怕是绝大多数的木马程序也是如此。官方关于socket编程的...

    用户1631416
  • socket 编程初探

    一 简介 socket是两个应用程序进行通信的管道,这两个应用程序可以在同一台机器上,也可以位于两台不同的机器上,相同的网络或者不同网络之间的。Pyth...

    用户1278550
  • python实现socket通讯(UDP)

    import socket address = ('127.0.0.1', 31500) s = socket.socket(socket.AF_INET, ...

    阳光岛主
  • udp发送广播消息

    skylark
  • php 纯socket编程核心的东西!socket_read阻塞的问题!

    最大视角-从Unix底层 理解 python的io模型、python异步IO、python的select、Unix的select、epoll fileno 的...

    waki

扫码关注云+社区

领取腾讯云代金券