Python UDP套接字编程
使用两台机器建立基于UDP的通信,其中客户端的地址为192.168.1.1
,服务端的地址为192.168.1.2
使用Python语言实现
接下来我们分别建立客户端和服务端的python代码
代码实现
客户端代码(client_udp.py):
from socket import *
server='192.168.1.2'
port=12000
socket_client=socket(AF_INET,SOCK_DGRAM) # AF_INET表示使用IPv4,SOCK_DGRAM表示使用UDP套接字
message="I'am client!"
socket_client.sendto(message.encode(),(server,port)) # 两台主机之间建立通信是通过进程的进行的,因此需要明确端口号(当然首先要明确主机地址)
message_receive,address_server=socket_client.recvfrom(1024) # 1024表示缓存长度
print("The address of server is:",address_server)
print("The message from server is:",message_receive.decode())
socket_client.close()
服务端代码(server_udp.py):
from socket import *
port=12000
socket_server=socket(AF_INET,SOCK_DGRAM)
socket_server.bind(('',port))
message_server="I'm server!"
while True:
message,address_client=socket_server.recvfrom(1024)
print('The address of client is:',address_client)
print('The message from client is:',message.decode())
socket_server.sendto(message_server.encode(),address_client)
运行结果
[ 运行客户端前需先运行服务端 ]
客户端
The address of server is: ('192.168.1.2', 12000)
The message from server is: I'm server!
服务端
The address of client is: ('192.168.1.1', 61892)
The message from client is: I'am client!
可以看到客户端和服务端完成了通信
计算机网络:自顶向下方法