今天,我已经完成了我的第一个套接字程序--我制作了一个客户机和一个服务器,使用套接字相互传递消息(有点像聊天)。当使用内部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。但是,如果我用的是笔记本电脑,而我没有无线路由器的接入,那该怎么办呢?我不能访问笔记本电脑使用的每一个路由器。
我希望代码能永久兼容。
发布于 2016-10-02 18:57:17
使用DynDNS.com或NoIP.com门户。您可以在笔记本电脑上安装程序,经常检查您的IP,并将当前IP发送到门户,门户将此IP分配给您的地址,如"my_laptop.noip.com“。然后人们可以使用"my_laptop.noip.com“而不是IP地址来访问您的笔记本电脑。
您总是像WiFi一样将套接字分配给本地网卡(NIC)的IP。你不能进入外部IP。您必须配置您的路由器,以便将对外部IP:port的请求发送到您的本地IP:port。当然,互联网供应商路由器可以阻塞您的端口,它将无法工作。
https://stackoverflow.com/questions/39820253
复制相似问题