Python--网络编程-----基于UDP协议的套接字

Posted xudachen

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Python--网络编程-----基于UDP协议的套接字相关的知识,希望对你有一定的参考价值。

服务端:

 1 from socket import *
 2 
 3 server = socket(AF_INET, SOCK_DGRAM)
 4 server.bind((127.0.0.1, 8080))
 5 
 6 while True:
 7     data, client_addr = server.recvfrom(1024)
 8     print(data, client_addr)
 9 
10     server.sendto(data.upper(), client_addr)
11 
12 server.close()

 

客户端:

 1 from socket import *
 2 
 3 client = socket(AF_INET, SOCK_DGRAM)
 4 
 5 while True:
 6     msg = input(">>:").strip()
 7     client.sendto(msg.encode(utf-8), (127.0.0.1, 8080))
 8 
 9     data, server_addr = client.recvfrom(1024)
10     print(data, server_addr)
11 
12 client.close()

先启动服务端,再启动客户端,在客户端输入小写字母abc,

客户端运行结果为:

1 >>:abc
2 bABC (127.0.0.1, 8080)
3 >>:

服务端运行结果为:

1 babc (127.0.0.1, 55255)

这就实现了基于udp协议的简单套接字程序

 

基于udp协议的套接字能够发空:

在客户端输入空,

客户端运行结果为:

1 >>:
2 b‘‘ (127.0.0.1, 8080)
3 >>:
4 b‘‘ (127.0.0.1, 8080)
5 >>:

udp就算发送数据为空,但是udp是数据报协议,数据报中还包含有ip端口信息,所以说数据报不为空

以上是关于Python--网络编程-----基于UDP协议的套接字的主要内容,如果未能解决你的问题,请参考以下文章

Python--网络编程-----基于UDP协议的套接字不会发生粘包

python网络_Udp协议

python网络编程(通过tcp或者udp协议通信)

python面试题三:Python 网络编程与并发

Python中的端口协议之基于UDP协议的通信传输

基于UDP协议的网络编程