Как подключить сервер и клиент через интернет в Python - PullRequest
0 голосов
/ 12 февраля 2019

Я узнал, как соединить клиент и сервер с помощью сокетов, когда они оба находятся на одном и том же Wi-Fi.Однако, когда клиентский компьютер и серверный компьютер подключены к различным модемам Wi-Fi, клиент не может найти сервер.Интересно, как мне изменить свой код, чтобы клиент мог подключаться к серверу независимо от сети Wi-Fi, к которой он подключен?

import sys
from socket import socket, AF_INET, SOCK_DGRAM

SERVER_IP   = '192.168.1.2'
PORT_NUMBER = 5000
SIZE = 1024
print ("Test client sending packets to IP {0}, via port {1}\n".format(SERVER_IP, PORT_NUMBER))

mySocket = socket( AF_INET, SOCK_DGRAM )
myMessage = "Hello!"
b_myMessage = myMessage.encode()
print(type(b_myMessage))
myMessage1 = "Ended"
i = 0
while i < 10:
    mySocket.sendto(b_myMessage,(SERVER_IP,PORT_NUMBER))
    i = i + 1

mySocket.sendto(myMessage1.encode('utf-8'),(SERVER_IP,PORT_NUMBER))

sys.exit()

1 Ответ

0 голосов
/ 12 февраля 2019

Полагаю, вам нужно использовать

socket(AF_INET, SOCK_STREAM)

, чтобы он подключался через TCP, а затем переносил порт пересылки 5000 (или любой другой порт, который вы используете) на ПК и маршрутизаторе WiFi.Затем вам нужно будет изменить IP-адрес сервера на Public IP вашего сервера, а не на частный, в вашем коде.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...