Как подключить два ПК, находящихся в разных сетях? Мне нужно подключить два ПК, которые находятся в разных сетях при помощи socket.py. Все мои попытки соединения в разных сетях были неудачными, в отличие от локальных соединений.
Для подключения двух ПК, находящихся в разных сетях, при помощи модуля socket.py, вам необходимо учитывать следующие шаги:
Убедитесь, что оба ПК имеют доступ к интернету.Настройте порт для обмена данными между двумя ПК. Например, вы можете выбрать порт 8080.Настройте маршрутизаторы обеих сетей таким образом, чтобы они могли пересылать трафик на выбранный порт к нужному устройству.Пропишите публичный IP-адрес и порт в клиенте и сервере.
Пример кода для сервера:
import socket server_socket = socket.socketsocket.AFINET,socket.SOCKSTREAMsocket.AF_INET, socket.SOCK_STREAMsocket.AFINET,socket.SOCKSTREAM
server_socket.bind(′0.0.0.0′,8080)('0.0.0.0', 8080)(′0.0.0.0′,8080)
server_socket.listen111 print"Serverislisteningonport8080""Server is listening on port 8080""Serverislisteningonport8080" client_socket, client_address = server_socket.accept
print"Connectedto",clientaddress"Connected to", client_address"Connectedto",clientaddress while True: data = client_socket.recv102410241024
if not data: break print"Client:",data.decode()"Client:", data.decode()"Client:",data.decode()
client_socket.sendb"Received"b"Received"b"Received" client_socket.close
server_socket.close
Замените 'public_ip_of_server' на публичный IP-адрес сервера. Оба скрипта должны быть запущены одновременно для установления соединения между двумя ПК.
Убедитесь, что ваш маршрутизатор правильно настроен для пересылки трафика на выбранный порт на нужный компьютер. Кроме того, убедитесь, что брандмауэры на обоих компьютерах разрешают передачу данных через выбранный порт.
Для подключения двух ПК, находящихся в разных сетях, при помощи модуля socket.py, вам необходимо учитывать следующие шаги:
Убедитесь, что оба ПК имеют доступ к интернету.Настройте порт для обмена данными между двумя ПК. Например, вы можете выбрать порт 8080.Настройте маршрутизаторы обеих сетей таким образом, чтобы они могли пересылать трафик на выбранный порт к нужному устройству.Пропишите публичный IP-адрес и порт в клиенте и сервере.Пример кода для сервера:
import socketserver_socket = socket.socketsocket.AFINET,socket.SOCKSTREAMsocket.AF_INET, socket.SOCK_STREAMsocket.AFI NET,socket.SOCKS TREAM server_socket.bind(′0.0.0.0′,8080)('0.0.0.0', 8080)(′0.0.0.0′,8080) server_socket.listen111
print"Serverislisteningonport8080""Server is listening on port 8080""Serverislisteningonport8080"
client_socket, client_address = server_socket.accept print"Connectedto",clientaddress"Connected to", client_address"Connectedto",clienta ddress
while True:
data = client_socket.recv102410241024 if not data:
break
print"Client:",data.decode()"Client:", data.decode()"Client:",data.decode() client_socket.sendb"Received"b"Received"b"Received"
client_socket.close server_socket.close
Пример кода для клиента:
import socketclient_socket = socket.socketsocket.AFINET,socket.SOCKSTREAMsocket.AF_INET, socket.SOCK_STREAMsocket.AFI NET,socket.SOCKS TREAM client_socket.connect(′publicipofserver′,8080)('public_ip_of_server', 8080)(′publici po fs erver′,8080)
while True:
message = input"Entermessage:""Enter message: ""Entermessage:" client_socket.sendmessage.encode()message.encode()message.encode() data = client_socket.recv102410241024 print"Server:",data.decode()"Server:", data.decode()"Server:",data.decode()
Замените 'public_ip_of_server' на публичный IP-адрес сервера. Оба скрипта должны быть запущены одновременно для установления соединения между двумя ПК.
Убедитесь, что ваш маршрутизатор правильно настроен для пересылки трафика на выбранный порт на нужный компьютер. Кроме того, убедитесь, что брандмауэры на обоих компьютерах разрешают передачу данных через выбранный порт.