VB.net 2010 视频教程 VB.net 2010 视频教程 python基础视频教程
SQL Server 2008 视频教程 c#入门经典教程 Visual Basic从门到精通视频教程
当前位置:
首页 > Python基础教程 >
  • python实现简单的udp发送和接收

当然,Python 中使用 UDP 协议进行数据的发送和接收,通常我们会用到 `socket` 库。下面我将为你展示如何使用 Python 编写一个简单的 UDP 客户端和服务器。
 
### UDP 服务器
 
UDP 服务器的主要任务是监听某个端口,等待接收来自客户端的数据包,并可以对这些数据包进行处理或响应。
 
import socket
 
def udp_server(host='127.0.0.1', port=12345):
    # 创建一个 socket 对象
    with socket.socket(socket.AF_INET, socket.SOCK_DGRAM) as s:
        # 绑定地址和端口
        s.bind((host, port))
        print(f"UDP server up and listening on {host}:{port}")
 
        try:
            while True:
                # 接收数据
                data, addr = s.recvfrom(1024)  # 1024 是缓冲区大小
                print(f"Received message: {data.decode()} from {addr}")
 
                # 发送响应(如果需要)
                response = "Hello from server!".encode()
                s.sendto(response, addr)
 
        except KeyboardInterrupt:
            print("Server stopped by user.")
 
if __name__ == "__main__":
    udp_server()
 
### UDP 客户端
 
UDP 客户端的任务是向服务器发送数据包,并可以选择性地接收来自服务器的响应。
 
import socket
 
def udp_client(server_host='127.0.0.1', server_port=12345):
    # 创建一个 socket 对象
    with socket.socket(socket.AF_INET, socket.SOCK_DGRAM) as s:
        # 发送数据
        message = "Hello from client!".encode()
        s.sendto(message, (server_host, server_port))
 
        # 接收响应(如果需要)
        data, server = s.recvfrom(1024)
        print(f"Received from server: {data.decode()}")
 
if __name__ == "__main__":
    udp_client()
 
### 运行说明
 
1. 首先运行 UDP 服务器代码。
2. 然后运行 UDP 客户端代码。
3. 客户端将发送一条消息给服务器,服务器收到后会打印出消息,并发送一条响应消息回客户端。
4. 客户端将打印出从服务器接收到的响应消息。
 
请注意,UDP 是一种无连接的协议,这意味着它不像 TCP 那样在通信之前需要建立连接。因此,UDP 并不保证消息的到达、顺序或仅一次传输。这使得 UDP 在某些不需要可靠传输的应用中非常有用,如视频流、实时游戏等。

 
最后,如果你对python语言还有任何疑问或者需要进一步的帮助,请访问https://www.xin3721.com 本站原创,转载请注明出处:https://www.xin3721.com/Python/python50231.html


相关教程