【问题标题】:how can i connect client and server without local IP or localhost Python我如何在没有本地 IP 或 localhost Python 的情况下连接客户端和服务器
【发布时间】:2020-05-14 21:14:40
【问题描述】:

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

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

【问题讨论】:

  • ...但是我想ping其他系统...我很困惑,还有什么其他系统? *...192.168.1.190...' 这不是 Internet 上的有效 IP 地址,因此您的设置必须比您所传达的更复杂,可能只是一个 NAT 或其他东西。

标签: python sockets networking


【解决方案1】:

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

【讨论】:

  • 那么如果我想通过互联网连接我该怎么做我在这里使用我的本地 IP 地址但是我如何通过互联网做到这一点
  • @TahirSaeed 遗憾的是,这不可能通过互联网,这就是为什么使用 Web 应用程序(向/从服务器发送和获取数据)来解释原因,例如,如果你尝试使用该地址 '192.168 .1.190' ,这不是主机的真实地址,它只是通过端口号将主机与互联网链接的路由器的地址
  • 兄弟,但是会有一种方法可以做到这一点,比如网络应用程序,你能解释一下我如何创建网络应用程序;它如何在互联网上工作,如何将聊天程序与它链接?跨度>
  • @TahirSaeed ,你可以创建一个用于聊天的网络应用程序,它将链接到一个数据库,实际上这就是 Facebook 和许多其他应用程序的工作方式,在这个网络应用程序上,任何用户都有一个 id 和密码,所以当用户1向用户2发送消息时,该消息将保存在数据库中,用户2将从该数据库中提取他的消息并以相同的方式发送消息。
猜你喜欢
  • 2021-08-27
  • 1970-01-01
  • 2013-05-27
  • 1970-01-01
  • 2014-06-11
  • 1970-01-01
  • 2016-04-18
  • 1970-01-01
  • 2016-02-04
相关资源
最近更新 更多