首页 >后端开发 >php教程 >cli模式的stream_socket_accept函数问题

cli模式的stream_socket_accept函数问题

WBOY
WBOY原创
2016-06-23 14:20:411277浏览

本帖最后由 jdgdf566 于 2013-08-30 17:41:37 编辑

socket

/* Open a server socket to port 1234 on localhost */$server = stream_socket_server('tcp://127.0.0.1:12345');$socket = stream_socket_accept($server);    /* Grab a packet (1500 is a typical MTU size) of OOB data */    echo "Received Out-Of-Band: '" . stream_socket_recvfrom($socket, 1500, STREAM_OOB) . "'\n";    /* Take a peek at the normal in-band data, but don't comsume it. */    echo "Data: '" . stream_socket_recvfrom($socket, 1500, STREAM_PEEK) . "'\n";    /* Get the exact same packet again, but remove it from the buffer this time. */    echo "Data: '" . stream_socket_recvfrom($socket, 1500) . "'\n";/* Close it up */fclose($socket);fclose($server);

PHP Warning:  stream_socket_accept(): accept failed: 由于连接方在一段时间后没有正确答复或连接的主机没有反应,连接尝试失败。
apache下没有此问题。

回复讨论(解决方案)

防火墙放行php了没有?

防火墙放行php了没有? 没安装防火墙啊

不晓得,你的错误信息是超时,就是连接不上

查一下$errno

不晓得,你的错误信息是超时,就是连接不上

查一下$errno 确实是超时。stream_socket_accept($server)的第二个参数为0的时候并不是无限时间。应该放在循环结构里面使用这个函数。初步结论是这样。

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn