什么是在php中绑定的套接字?

时间:2015-07-22 02:28:43

标签: php sockets server

我刚刚在php.net上阅读了有关socket_bind的文档。我似乎不清楚为什么你应该在服务器端指定绑定套接字的地址。这不应该是您用来返回php文件本身的服务器的地址吗?如果您指定的地址不是您的服务器,会发生什么?

它还声明如果地址不是您的计算机,Windows可能会抛出错误。为什么不是服务器地址的默认值?

在java中,您只需指定将套接字绑定到服务器端的端口号。为什么php不同?

1 个答案:

答案 0 :(得分:1)

虽然我不能告诉你Java的用途,我可以告诉你它在PHP和大多数其他平台上是如何工作的。

您指定地址,因为您的计算机可能有多个地址。每个都可以绑定到特定的,你可以在同一个端口上有多个打开的套接字,但不同的ips。 0.0.0.0 ip表示“一切”,而127.0.0.1会导致您的服务器只能在本地计算机上访问。

编辑:看起来甚至java也有办法指定要绑定的特定ip。 http://download.java.net/jdk7/archive/b123/docs/api/java/net/ServerSocket.html#ServerSocket%28int,%20int,%20java.net.InetAddress%29