python 写一个udp示例
时间: 2023-10-16 20:09:22 浏览: 59
以下是一个简单的 Python UDP 示例:
```
import socket
# 创建一个UDP socket对象
udp_socket = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
# 绑定本地IP地址和端口号
local_ip = '127.0.0.1'
local_port = 8888
udp_socket.bind((local_ip, local_port))
# 接收数据
data, sender_addr = udp_socket.recvfrom(1024)
print('Received message from {}: {}'.format(sender_addr, data.decode()))
# 发送数据
remote_ip = '127.0.0.1'
remote_port = 9999
message = 'Hello, UDP!'
udp_socket.sendto(message.encode(), (remote_ip, remote_port))
# 关闭socket对象
udp_socket.close()
```
该示例首先创建了一个UDP socket对象,并将其绑定到本地IP地址和端口号。接着,它可以接收来自其他UDP socket的数据,并将其打印到控制台上。最后,它还可以通过UDP socket发送数据到远程主机的指定IP地址和端口号。最后,该示例关闭了UDP socket对象。
相关问题
python 写一个udp
下面是一个简单的Python UDP服务器和客户端示例:
1. 服务器端代码:
```python
import socket
# 创建一个UDP套接字
server_socket = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
# 绑定服务器IP和端口号
server_address = ('127.0.0.1', 8888)
server_socket.bind(server_address)
print('UDP服务器已启动...')
while True:
# 接收客户端发送的消息和地址
message, client_address = server_socket.recvfrom(1024)
print('收到来自客户端 {} 的消息: {}'.format(client_address, message.decode()))
# 发送响应消息给客户端
server_socket.sendto('I received your message.'.encode(), client_address)
```
2. 客户端代码:
```python
import socket
# 创建一个UDP套接字
client_socket = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
# 客户端IP和端口号
client_address = ('127.0.0.1', 8889)
while True:
# 输入要发送的消息
message = input('请输入要发送的消息: ')
# 发送消息给服务器
client_socket.sendto(message.encode(), ('127.0.0.1', 8888))
# 接收服务器响应消息
response, server_address = client_socket.recvfrom(1024)
print('收到来自服务器 {} 的响应消息: {}'.format(server_address, response.decode()))
```
运行以上两份代码后,就可以在控制台上进行UDP通信了。
python 写一个udp代码
下面是一个简单的 UDP 通信代码示例:
服务端:
```python
import socket
# 创建UDP套接字
server_socket = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
# 绑定IP和端口号
server_address = ('127.0.0.1', 8888)
server_socket.bind(server_address)
print('UDP服务器已经启动,等待客户端数据...')
while True:
# 接收客户端数据
data, client_address = server_socket.recvfrom(1024)
print('来自客户端 {} 的消息:{}'.format(client_address, data.decode('utf-8')))
# 向客户端发送响应数据
response = 'Hello, {}'.format(client_address).encode('utf-8')
server_socket.sendto(response, client_address)
```
客户端:
```python
import socket
# 创建UDP套接字
client_socket = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
# 发送数据到服务器
server_address = ('127.0.0.1', 8888)
message = 'Hello, server'.encode('utf-8')
client_socket.sendto(message, server_address)
# 接收服务器响应数据
data, server_address = client_socket.recvfrom(1024)
print('来自服务器 {} 的响应:{}'.format(server_address, data.decode('utf-8')))
# 关闭套接字
client_socket.close()
```
注意:在实际使用中,需要根据具体应用场景进行相应的异常处理、数据分片处理等操作。
阅读全文