В качестве моего первого мини-проекта я попытался создать чат-клиент-сервер на 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,))