我在JAVA中有服务器和客户端应用程序,使用此服务器。初看起来没有问题 - JAVA使用socket.getInputStream()
来接收数据,使用socket.getOutputStream()
来发送数据。
我需要在PHP上编写相同的客户端。手册中的所有示例都没有帮助我。我可以成功连接到服务器,但当我尝试阅读的东西 - 页面挂起。例如:
$fp = stream_socket_client($addr, $errno, $errstr, 30);
if (!$fp) {
echo "$errstr ($errno)<br />\n";
} else {
fwrite($fp, $data);
while (!feof($fp)) {
var_dump(fgets($fp, 1024));
}
fclose($fp);
}
此代码即使没有时间也会挂起。
有什么不对?
答案 0 :(得分:0)
您的服务器是否确实发送了字节?
fgets($fp, 1024)
如果出现以下情况之一,则返回:
- 收到EOF或换行
- 读取1024-1字节
或远方关闭连接。
如果没有发生这些情况,则呼叫阻止。
如何将1024更改为较低的数字或使用fgetc()?