python基于udp的网络聊天室报告_UDP-Python:如何使服务器在UDP聊天室中广播客户端发送的消息...

我用Python编写了一个使用UDP套接字的小型聊天室应用程序。我已经将它设置为用户选择用户名然后向服务器发送消息的位置。然后,服务器会将消息广播到每个连接的客户端。我设法让服务器正常工作,客户机能够向服务器发送消息。问题是服务器没有向连接的其他客户端广播消息。在

以下是服务器代码:from socket import *

import socket

port = 1234

localhost='127.0.0.1'

#Create a socket

try :

s = socket.socket(AF_INET, SOCK_DGRAM)

s.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEADDR, 1)

s.setsockopt(socket.SOL_SOCKET, socket.SO_BROADCAST, 1)

print ('Socket created')

except socket.error:

print ('Error creating socket.')

sys.exit()

#Bind the socket to port and localhost.

try:

s.bind((localhost, port))

except socket.error:

print ('Error while binding.')

sys.exit()

print ('Bind complete.')

while 1:

# receive data from client (data, addr)

d = s.recvfrom(2048)

data = d[0]

addr = d[1]

if not data:

break

print('Client connected at ' + addr[0] + ':' + str(addr[1]))

print('Message[' + addr[0] + ':' + str(addr[1]) + '] - ' +

data.strip().decode("utf-8"))

s.close()

客户代码:

^{pr2}$

有什么建议吗?在

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值