码迷,mamicode.com
首页 > 其他好文 > 详细

102 基于UDP协议的socket套接字

时间:2019-09-11 19:59:21      阅读:101      评论:0      收藏:0      [点我收藏+]

标签:输入   sendto   ddr   影响   协议   list   实例   encode   str   

一、基于UDP协议的socket套接字编程

socket套接字包括使用TCP协议和UDP协议进行通讯

1.1 用法

socket指定使用UDP通讯协议server = socket.socket(socket.AF_INET, type=socket.SOCK_DGRAM)

发送udp数据server.sendto(发送数据)

接收udp数据data, addr = server.recvfrom(1024)

1.2 udp协议的特点

  1. 可以发空数据(数据报协议,有头)
  2. 不需要建连接
  3. 不会粘包
  4. 不可靠(客户端,服务器谁断开都不受影响)

1.3 实例

服务端

HOST = "127.0.0.1"
POST = 8080

if __name__ == '__main__':
    # udp服务器
    server = socket.socket(socket.AF_INET, type=socket.SOCK_DGRAM)  # 指定udp协议进行通讯。
    server.bind((HOST,POST))
    while 1:
        data, addr = server.recvfrom(1024)
        print(data.upper().decode("utf8"))
        server.sendto(data.upper(),addr)

客户端

HOST = "127.0.0.1"
POST = 8080

if __name__ == '__main__':
    # udp客户端
    client = socket.socket(socket.AF_INET, type=socket.SOCK_DGRAM) # 指定udp协议进行通讯。
    while 1:
        msg = input("请输入>>:")
        # 直接发
        client.sendto(msg.encode("utf8"),(HOST,POST))
        data=client.recvfrom(1024)[0]   # 是个元祖
        print(data.decode("utf8"))

102 基于UDP协议的socket套接字

标签:输入   sendto   ddr   影响   协议   list   实例   encode   str   

原文地址:https://www.cnblogs.com/xichenHome/p/11508250.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!