Python:通过外部IP使用套接字连接

时间:2016-10-02 18:28:02

标签: python sockets networking

今天,我已经制作了我的第一个套接字程序 - 我使用套接字创建了一个客户端和一个相互通信的服务器(有点像聊天)。当使用内部IP作为主机'时,建立连接,否则使用外部IP,不建立连接。

编辑1:

#Client 
s = socket.socket()
host = '123.123.123.123'
port = 9999
s.connect((host, port))

#Server
host = ''
port = 9999
s = socket.socket()
s.bind((host, port))
s.listen(5)
connection, address = s.accept()

如何正常使用笔记本电脑?由于每次切换Wifi时您的IP都会更改,我如何能够创建一个永久使用此特定笔记本电脑的程序?

我知道我必须将特定端口移植到特定的内部机器,例如192.168.0.5。但是,如果我使用笔记本电脑并且无法访问WIFI路由器,该怎么办?我无法访问笔记本电脑使用的每个路由器。

我希望代码永久兼容。

1 个答案:

答案 0 :(得分:0)

使用DynDNS.comNoIP.com门户网站。您在笔记本电脑上安装程序,它会频繁检查您的IP并将当前IP发送到门户网站,门户网站会将此IP分配给您的地址,如“my_laptop.noip.com”。然后人们可以使用“my_laptop.noip.com”而不是IP地址访问您的笔记本电脑。

您始终将套接字分配给本地网卡(NIC)的IP,如WiFi。你无法支持外部IP。您必须配置您的路由器,以便对外部IP:端口的请求将发送到您的本地IP:端口。当然,Internet Provider路由器可能会阻塞您的端口,但它无法正常工作。