作为我的第一个小项目,我尝试用Python创建一个客户机-服务器聊天室。问题是服务器无法将传入消息发送到除发件人以外的任何其他主机。我创建了一个主机列表,并尝试在发送时对其进行迭代,但它也不起作用。你能帮我一点忙吗?我也很乐意接受建议,一个新手。你知道吗
服务器脚本:
import socket
from _thread import *
hostList = []
address = '192.168.0.31'
port = 10101
s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
s.bind((address, port))
s.listen(5)
def clientthread(conn):
while True:
data = conn.recv(1024)
print(str(data)[2:-1])
for host in hostList:
conn.sendto(data, host)
while True:
conn, addr = s.accept()
print("Connected with: ", addr)
start_new_thread(clientthread, (conn,))
hostList.append(addr)
客户端脚本:
import socket
from _thread import *
nick = input("Enter your nickname: ")
adres = '192.168.0.31'
port = 10101
def recvData(s):
data = s.recv(1024)
print(str(data)[2:-1])
s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
s.connect((adres, port))
while True:
s.sendall((nick+": "+input()).encode())
start_new_thread(recvData, (s,))
目前没有回答
相关问题 更多 >
编程相关推荐