#服务端
#服务端
import socket
# 准备聊天
server=socket.socket(type=socket.SOCK_DGRAM)
#接收聊天的ip地址(聊天室),win+R > ipcondif 获得地址
server.bind(("172.26.29.83",12167))
#建立一个列表用于存贮聊天人数的地址
clients=[]
while 1:
#从各个客户端接收聊天的信息和地址
data,addr=server.recvfrom(1024)
#判断接收到的地址是否出现过,没有出现过则加入进地址列表中
if addr not in clients:
clients.append(addr)
#输出该新地址
print(clients)
#在聊天室打印接收到的信息
print(data.decode())
#返回接收到的信息
for client in clients:
server.sendto(data, client)
#*****************************************************************
#*****************************************************************
#客户端
#客户端
import socket
client = socket.socket(type=socket.SOCK_DGRAM)
wf=("172.26.29.83",12167)
#加入要聊天的聊天室ip地址及端口号
# server=("127.0.0.1",12167)
while 1:
#输入要发送的信息
input_data="wf:"+input("wf:")
#向聊天室发送要发送的信息
client.sendto(input_data.encode(),wf)#直接发送到server端
#用于接收发送成功后的返回值
data = client.recv(1024).decode() # 接收severe端发来的数据
print(data)#输出server端接收来的数据
设计一个在线聊天程序,要求具又服务端和客户端,支持多人同时聊天,UDP模式。
最新推荐文章于 2024-09-29 16:25:19 发布