用python写一个udp 通信
时间: 2023-09-08 16:05:14 浏览: 113
### 回答1:
可以使用Python来编写UDP通信程序,下面是一个简单的示例:import socket# 创建socket
s = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
# 绑定端口
s.bind(('127.0.0.1', 8080))
while True:
# 接收数据
data, addr = s.recvfrom(1024)
print ('Received from %s:%s.' % addr)
reply = 'Hello, %s!' % data
s.sendto(reply.encode('utf-8'), addr)
### 回答2:
使用Python编写UDP通信可以使用socket模块来完成。以下是一个简单的示例代码:
```python
import socket
def udp_server():
# 创建UDP socket
server_socket = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
# 绑定IP地址和端口
server_address = ('localhost', 8888)
server_socket.bind(server_address)
print('UDP服务器已启动...')
while True:
# 接收数据
data, client_address = server_socket.recvfrom(1024)
print('接收到来自{}的消息: {}'.format(client_address, data.decode()))
# 发送响应
response = '已收到消息: {}'.format(data.decode()).encode()
server_socket.sendto(response, client_address)
def udp_client():
# 创建UDP socket
client_socket = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
# 服务器地址
server_address = ('localhost', 8888)
while True:
message = input('请输入要发送的消息: ')
# 发送数据
client_socket.sendto(message.encode(), server_address)
# 接收响应
response, _ = client_socket.recvfrom(1024)
print('收到服务器的响应: {}'.format(response.decode()))
if __name__ == '__main__':
# 启动UDP服务器
udp_server()
# 或启动UDP客户端
# udp_client()
```
可以在代码中的`udp_server`函数中启动一个UDP服务器,该服务器会一直接收来自客户端的消息并发送响应。另外,也可以在代码中的`udp_client`函数中启动一个UDP客户端,该客户端可以输入消息并将其发送给服务器,然后接收服务器的响应。
### 回答3:
使用Python编写UDP通信程序可以通过socket模块实现。下面是一个简单的示例代码:
```python
import socket
def main():
# 创建UDP套接字
udp_socket = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
# 绑定本地IP和端口
local_addr = ('127.0.0.1', 8888)
udp_socket.bind(local_addr)
# 接收数据
while True:
data, addr = udp_socket.recvfrom(1024)
print("接收到来自 %s 的数据:%s" % (addr, data.decode('utf-8')))
# 发送数据
udp_socket.sendto('已接收到你的信息'.encode('utf-8'), addr)
# 关闭套接字
udp_socket.close()
if __name__ == "__main__":
main()
```
这是一个简单的UDP通信程序,首先创建了一个UDP套接字,然后将其绑定到本地IP和端口。程序通过循环不断接收数据,接收到数据后打印出来,并发送一个确认消息给发送方。在示例中,绑定的IP为127.0.0.1,端口为8888,你可以根据需要修改这些参数。为了方便演示,这里实现了一个单线程的UDP通信程序,实际应用中可能需要进行多线程或多进程处理。
阅读全文