Python UDP网络编程,流程和其它语言没有区别,但更简洁:
#服务器端 server.py
# 导入 socket、sys 模块
import socket
import sys
# 创建 socket 对象
serversocket = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
# 获取本地主机名
host = socket.gethostname()
#端口
port = 9999
# 绑定端口号
serversocket.bind((host, port))
print("在主机{} 端口{} 上绑定!".format(host,port))
while True:
# 建立客户端连接
msg,addr = serversocket.recvfrom(1024)
print ("客户端%s说: %s" % ( str(addr), msg ))
serversocket.sendto( msg, addr)
#客户端client.py
# 导入 socket、sys 模块
import socket
import sys
# 创建 socket 对象
s = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
# 获取本地主机名
host = socket.gethostname()
# 设置端口号
port = 9999
while True:
str = input("输入发送内容:")
#发送消息
s.sendto( str.encode('utf-8'), (host, port))
# 接收小于 1024 字节的数据
msg = s.recv(1024)
print("服务器: {}".format( msg.decode('utf-8') ))
s.close()
先运行服务器,然后运行两个客户端,打印效果:
下图是两个客户端: