繁体   English   中英

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

[英]Python: Connect using sockets via external IP

今天,我做了我的第一个套接字程序-我制作了一个客户端和一个服务器,它们使用套接字互相发送消息(有点像聊天)。 当使用内部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()

例如笔记本电脑将如何正常工作? 由于您的IP在每次切换Wifi时都会更改,因此我如何才能创建一个可以在此特定笔记本电脑上永久使用的程序?

我了解我必须将特定端口移植到特定的内部计算机,例如192.168.0.5。 但是,如果我使用笔记本电脑而无法访问WIFI路由器,该怎么办。 我将无法访问笔记本电脑使用的每台路由器。

我希望代码是永久兼容的。

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

您总是将套接字分配给本地网卡(NIC)的IP(例如WiFi)。 您无法使用外部IP。 您必须配置路由器,以便对外部IP:port的请求将发送到本地IP:port。 当然,Internet Provider路由器可以阻止您的端口,并且将不起作用。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM