无法远程登录到另一台计算机

时间:2012-02-15 22:09:24

标签: php sockets networking ip telnet

经过数小时的研究后,我有点绝望了:

具有本地PHP应用程序的Windows 7计算机,该应用程序使用套接字侦听端口12345。 来自同一个Windows 7:

  • 如果我telnet localhost 12345,php代码会看到连接。
  • 如果我telnet 127.0.0.1 12345,php代码会看到连接。
  • 如果我做telnet< local_ip_address> 12345,php代码没有看到连接。
  • 如果我做telnet< dns_name> 12345,php代码没有看到连接。

当我使用ip或dns地址时,从另一台机器上我根本没有任何连接
从具有相同地址但在端口80或21上的另一台机器执行telnet可以很好地工作。

即使禁用了本地防火墙/防病毒软件,我也会得到相同的结果 我使用标准的Apple TimeCapsule作为接入点,但没有特别配置,不确定是否会影响端口> 1024 ...

你对我有什么想法吗?
谢谢!

2 个答案:

答案 0 :(得分:2)

telnet 12345正在尝试连接到IP为12345十进制的计算机,又称为0.0.4.210,采用点分四格式。你不能像这样使用telnet - 参数不能只是一个端口号。它将被解释为IP。

答案 1 :(得分:2)

有两种方法可以让我看到这种行为;

  • 您的防火墙已启用(已测试)
  • 您的套接字绑定到127.0.0.1而不是您的公共IP。

我看看你的本地绑定,也就是你给socket_bind()的地址。

如果显示“127.0.0.1”,请将其更改为0.