如何在python中通过Internet连接服务器和客户端

时间:2019-02-12 11:18:46

标签: python web-services websocket client-server

我学习了当两个插座都在同一wifi上时如何使用套接字连接客户端和服务器。但是,当客户端计算机和服务器计算机连接到不同的wifi调制解调器时,客户端找不到服务器。我想知道如何更改代码,以便无论客户端连接到哪个wifi网络,客户端都可以连接到服务器?

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 :(得分:0)

我相信您需要使用

socket(AF_INET, SOCK_STREAM)

以便它可以通过TCP连接,然后在PC和WiFi路由器上转发端口5000(或您使用的任何端口)。 然后,您需要在代码中将服务器IP更改为服务器的公共 IP,而不是私有IP。