1.服务器代码如下:
import socket
import threading
bind_ip = '0.0.0.0'
bind_port = 9999
#定义使用协议为UDP
server = socket.socket(socket.AF_INET,socket.SOCK_DGRAM)
#配置监听IP和端口
server.bind((bind_ip,bind_port))
print('[*]Listening on %s:%d' % (bind_ip,bind_port))
def handle_client():
#如果获取到数据
#data 为通讯内容数据
#client 为客户端ip地址信息('ip',port)
data,client = server.recvfrom(1024)
print('[*]From:%s Received:%s'% (client,data))
server.sendto('ok'.encode(),client)
server.close() #使用此命令,接收一次,自动发送一次即关闭服务器
#使用多线程,实现获取接收数据函数,并传入client参数
client_handler = threading.Thread(target=handle_client)
client_handler.start()
2.客户端代码如下:
import socket
target_host = '127.0.0.1'
target_port = 9999
#建立一个socket对象
client = socket.socket(socket.AF_INET,socket.SOCK_DGRAM)
#发送一些数据
client.sendto('AAABBBCCC'.encode(),(target_host,target_port))
#接收一些数据
data,addr = client.recvfrom(4096)
print(data.decode())