Python网络编程之UDP

UDP

  • TCP是建立可靠的连接,并且通信双方都可以以流的形式发送数据。
  • 相对于TCPUDP则是面向无连接的协议
  • 使用UDP协议时,不需要建立连接,只需要知道对方的IP地址和端口号,就可以直接发送数据包。但是能不能到达就不知道了。
  • 虽然UDP传输数据不可靠,但他的优点是和TCP比,速度快,对于要求不高的数据可以是用UDP

下面进行实例
server.py

import socket

"""创建一个socket
AF_INET是指IPv4,AF_INET6是指IPv6,我们这里选IPv4就行了
SOCK_STREAM是指TCP,SOCK_DGRAM是指UDP"""
udp = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)

"""绑定一个IP和端口,注意,这里是元组"""
udp.bind(('192.168.56.1', 8080))

while True:
    """循环的接收消息,一次接收1024个字节,recvfrom是接收"""
    data, addr = udp.recvfrom(1024)
    # 解码
    print("msg:", data.decode("utf-8"))

client.py

import socket

"""创建一个socket对象"""
udp = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)

while True:
    data = input("请输入您要广播的话:")
    """编码,后面第二个参数是元组,IP和端口"""
    udp.sendto(data.encode("utf-8"), ('192.168.56.1', 8080))

运行结果:
在这里插入图片描述

如果有错误或者有疑问,请私信我喔,感谢观看

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章