cli模式的stream_socket_accept函数问题

jdgdf566 2013-08-30 05:31:55
/* 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下没有此问题。
...全文
199 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
jdgdf566 2013-08-30
  • 打赏
  • 举报
回复
引用 3 楼 snmr_com 的回复:
不晓得,你的错误信息是超时,就是连接不上 查一下$errno
确实是超时。stream_socket_accept($server)的第二个参数为0的时候并不是无限时间。应该放在循环结构里面使用这个函数。初步结论是这样。
ImN1 2013-08-30
  • 打赏
  • 举报
回复
不晓得,你的错误信息是超时,就是连接不上 查一下$errno
jdgdf566 2013-08-30
  • 打赏
  • 举报
回复
引用 1 楼 snmr_com 的回复:
防火墙放行php了没有?
没安装防火墙啊
ImN1 2013-08-30
  • 打赏
  • 举报
回复
防火墙放行php了没有?

21,886

社区成员

发帖
与我相关
我的任务
社区描述
从PHP安装配置,PHP入门,PHP基础到PHP应用
社区管理员
  • 基础编程社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧