Я пытаюсь отправить данные с моего Клиента_1 на Клиента-2. Эта передача должна произойти через серверную программу. Передача данных от Client_1 на сервер прошла успешно, но сервер не может подключиться к Client_2. Обратите внимание, что для моего приложения ** СЕРВЕР ДЕЙСТВУЕТ, КАК ПАССИВНЫЙ ЭЛЕМЕНТ, А НЕ КАК АКТИВНЫЙ ЭЛЕМЕНТ **, т. Е. Сервер не осуществляет активную отправку или передачу каких-либо данных. Он просто действует как мост между Client_1 и Client_2.
Моя проблема заключается в том, как изменить код моего сервера, чтобы я мог соединить оба своих клиента с моим сервером и иметь возможность передавать полученные данные в сервер для клиента_2.
Ниже я прилагаю свой код сервера ::
import socket
#from threading import Thread
def server_program():
all_connections = []
all_address = []
host = socket.gethostname() ###### get the hostname ###########
port = 5000 ##################### initiate port no above 1024 ###############
server_socket = socket.socket() ############# initiate the connection ##########e
server_socket.bind((host, port)) ############### bind host address and port together ##############
############### configure how many client the server can listen simultaneously ################
server_socket.listen(5)
#def accepting_connections():
# for c in all_connections:
# c.close()
#del all_connections[:]
#del all_address[:]
conn, address = server_socket.accept()
# socket.setblocking(1)
all_connections.append(conn)
all_address.append(address)
print("Connection from: " + str(address))
while True:
################ receive data stream. it won't accept data packet greater than 1024 bytes ###########
data = conn.recv(1024).decode()
if not data:
########### if data is not received break #############
break
print("from housekeeping unit: " + str(data))
# data = input(' -> ')
conn.send(data.encode()) ########## send data to the client ###########
conn.close() ############## close the connection ###############
if __name__ == '__main__':
server_program()