本帖最后由 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的时候并不是无限时间。应该放在循环结构里面使用这个函数。初步结论是这样。