Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/sockets/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 在没有本地IP或本地主机Pyhton的情况下,如何连接客户端和服务器_Python_Sockets_Networking - Fatal编程技术网

Python 在没有本地IP或本地主机Pyhton的情况下,如何连接客户端和服务器

Python 在没有本地IP或本地主机Pyhton的情况下,如何连接客户端和服务器,python,sockets,networking,Python,Sockets,Networking,我有一个客户机和服务器程序,我的意思是客户机正在与服务器通信,但我的服务器是我的同一个系统,(localhost)。。 但我想ping其他系统而不是localhost,为此我需要将localhost更改为该系统的ip地址,但该系统未连接到我的系统(有线或无线)。但那个系统可以上网吗?? 如何连接或ping到该系统` 客户端代码: 导入套接字 导入操作系统 导入子流程 将时间导入为y 导入时间 s=socket.socket() 主机='192.168.1.190' 端口=9999 服务器代码:

我有一个客户机和服务器程序,我的意思是客户机正在与服务器通信,但我的服务器是我的同一个系统,(localhost)。。 但我想ping其他系统而不是localhost,为此我需要将localhost更改为该系统的ip地址,但该系统未连接到我的系统(有线或无线)。但那个系统可以上网吗?? 如何连接或ping到该系统` 客户端代码: 导入套接字 导入操作系统 导入子流程 将时间导入为y 导入时间 s=socket.socket() 主机='192.168.1.190' 端口=9999

服务器代码: 全球主机 全球港口 全球s 主机=“” 端口=9999
s=socket.socket()

我真的不认为你可以使用socket通过“internet”访问主机,因为当你连接到internet时,你的ip地址会使用NAT转换为另一个公共地址(主机由端口号定义),并且它是隐藏的,所以远程应用程序无法直接访问你,我们称之为DMZ,用于保护您的机器,因此使用套接字的唯一方法是将其发送到同一网络上的主机

那么如果我想通过internet连接,我该怎么做?我在这里使用的是我的本地ip地址,但我该怎么做internet@TahirSaeed遗憾的是,这不可能通过互联网实现,这就是为什么使用web应用程序(向服务器发送和获取数据)来解释为什么,例如,如果您尝试使用地址“192.168.1.190”,则该地址不是主机的真实地址,它只是一个路由器的地址,它通过一个端口号将主机与internet连接起来。但是有一种方法可以做到这一点,就像web应用程序一样。你能解释一下我如何创建web应用程序吗;它将如何在互联网上工作?如何将聊天程序与之链接?@TahirSaeed,你可以创建一个用于聊天的web应用程序,它将链接到一个数据库,实际上这就是Facebook和许多其他应用程序的工作方式,在这个web应用程序上,任何用户都将拥有id和密码,所以当用户1向用户2发送消息时,该消息将保存在数据库中,用户2将从该数据库提取其消息,并以相同的方式发送消息…但我想ping其他系统。。。我很困惑,还有什么系统?*。。。192.168.1.190…“这不是internet上的有效IP地址,因此您的设置必须比您的通信更加复杂,可能只是一个NAT或其他内容。