udp协议传输

服务端   代码:

1 from socket import *
2 
3 udp_server = socket(AF_INET,SOCK_DGRAM)  # 数据报式套接字
4 udp_server.bind(('127.0.0.1',8080))
5 while True:
6     data = udp_server.recvfrom(1024)   # 接受的是一个元组,该元组第一个参数为接受的字节,第二个参数为发送方的地址
7     print(data)
8     print(data[0].decode())

客户端   代码:

1 from socket import *
2 
3 udp_client = socket(AF_INET, SOCK_DGRAM)
4 udp_client.sendto('你好,python'.encode(), ('127.0.0.1', 8080))  # udp发送的为一个元组,第一个参数为字节,第二个参数为接收方的地址

tcp和udp区别

udp可以接受空字节  recvfrom()可以接受空   tcp不可以 recv()

udp可以实现并发   同时可以服务多个客户端

实现时间获取程序   服务端:

 1 from socket import *
 2 import time
 3 
 4 udp_server = socket(AF_INET, SOCK_DGRAM)
 5 udp_server.bind(('127.0.0.1', 8080))
 6 while True:
 7     data, addr = udp_server.recvfrom(1024)
 8     # print(data.decode())
 9     if not data:
10         fm = '%Y-%m-%d %X'
11     else:
12         fm = data.decode()
13     udp_server.sendto(time.strftime(fm).encode(), addr)

服务端:

1 from socket import *
2 
3 upp_client = socket(AF_INET,SOCK_DGRAM)
4 while True:
5     msg = input('请输入格式:')
6     upp_client.sendto(msg.encode(),('127.0.0.1',8080))
7     data,addr = upp_client.recvfrom(1024)
8     print('服务器发过来的信息为',data.decode())

猜你喜欢

转载自www.cnblogs.com/ch2020/p/12524794.html