我想在PHP中将指定的端口绑定到套接字的CLIENT端。我可以这样做吗?这个怎么做? 使用socket_bind()?但我不知道应该为地址设置什么如何在PHP中指定socket客户端的端口?
我已经使用了关于此问题的解决方案,但没有找到示例/解决方案。
感谢您的帮助。
我想在PHP中将指定的端口绑定到套接字的CLIENT端。我可以这样做吗?这个怎么做? 使用socket_bind()?但我不知道应该为地址设置什么如何在PHP中指定socket客户端的端口?
我已经使用了关于此问题的解决方案,但没有找到示例/解决方案。
感谢您的帮助。
看看这里:http://php.net/manual/en/function.socket-bind.php
socket_bind (resource $socket , string $address [, int $port = 0 ])
因此,像:
socket_bind($socket, 'localhost', 5555);
当然,我不知道主机的IP地址是什么,它可能不会是localhost。
我已阅读php手册。 socket_bind通常用于SERVER端。 对于CLIENT方面,是客户端的IP地址吗?我只想确定地址是什么。 – Timespace7
它可以(也应该)被SERVER和CLIENT一方使用。你如何创建套接字,你称之为“服务器”是什么。你想如何与该套接字进行通信。详细说明如果你需要更好的答案。 – ddinchev
我是套接字编程的初学者。也许我对socket的一些概念还不清楚。如图所示http://pic.pimg.tw/kezeodsnx/4a83b89243c39.png 服务器端绑定到一个IP和端口,以便它可以分别向客户端发送数据和从客户端接收数据。服务器的ip可能是固定的,因为它的所有客户端只需连接一台服务器(在正常情况下)。但对于客户端来说,如果我想在客户端指定一个端口,我想我应该使用socket_bind(),它需要2个参数ip和port。这个socket_bind()中的ip的地址是什么?客户端的IP地址是什么? – Timespace7
如果你自己创建流与stream_context_create
你将需要使用你能做到这一点bindto:
用于指定的IP地址(IPv4或IPv6)和/或端口PHP将用于访问网络的数量。语法是ip:port。将IP或端口设置为0将让系统选择IP和/或端口。
所以:
$ctx = stream_context_create(array('socket'=> array('bindto' => "0:1234")));
那么您认为合适的使用环境。
我可以使用此套接字创建的套接字函数,即socket_create()吗? – Timespace7
不是socket_create,但函数,如'stream_socket_ *'或'fopen' – Martin
@lanzz他不想听。他说'客户端套接字'。因此0.0.0.0也不适用。 – EJP