setServerSocketAddress ( string $address = '' ) : object

参数

@param    string    $address    完整的 socket 地址

$address的格式为: <通信协议>://<监听地址>,其中 <通信协议> 可以为以下格式或者任何自定义协议:

tcp:   例如: tcp://0.0.0.0:8888
udp:   例如: udp://0.0.0.0:8888
unix:  例如: unix:///tmp/unix.sock (需要 workerman >= 3.2.7)
text:  例如: text://0.0.0.0:8888 
frame: 例如: frame://0.0.0.0:8888 
websocket:例如: websocket://0.0.0.0:8888

<监听地址> 可以为以下格式:

如果是unix套接字,地址为本地一个磁盘路径;

如果是非unix套接字,地址格式为 <本机ip>:<端口号>;

<本机ip>可以为0.0.0.0表示监听本机所有网卡,包括内网ip和外网ip及本地回环127.0.0.1;

<本机ip>如果以为127.0.0.1表示监听本地回环,只能本机访问,外部无法访问;

<本机ip>如果为内网ip,类似192.168.xx.xx,表示只监听内网ip,则外网用户无法访问;

<本机ip>设置的值不属于本机ip则无法执行监听,并且提示Cannot assign requested address错误;

[!WARNING|style:callout|label:关于端口号|iconVisibility:default|labelVisibility:default|className:block-warning] 1、端口号不能大于65535,端口号如果小于1024则需要root权限才能监听;
2、端口必须是本机未被占用的端口,否则无法监听,并且提示 Address already in use 错误

说明

设置监听 socket

举栗

$worker = new Producer();
$worker->setServerSocketAddress('websocket://0.0.0.0:8888');

results matching ""

    No results matching ""