如何在stream_socket_accept()失败时找到错误代码/原因

时间:2013-09-06 12:37:32

标签: php sockets error-handling

我有一个用PHP编写的流套接字服务器。 为了查看它一次可处理多少个连接,我在C中编写了一个模拟器来创建1000个不同的客户端以连接到服务器。

stream_socket_accept几次都是假的。 我需要找出失败的原因。

我尝试socket_last_error()socket_strerror()来获取错误代码,但他们返回了“成功”。这些功能似乎并不适用于流套接字。有没有办法/方法找出实际的错误代码

我的代码:

$socket = @stream_socket_accept($this->master, "-1", $clientIp);

$ip = str_getcsv($clientIp, ":");

//socket accept error

if($socket === FALSE)

{

$this->logservice->log($this->module_name, "ERROR", "cannot accept the device connection");

  ***// Need to find error code here ***

}

1 个答案:

答案 0 :(得分:1)

我现在可以在日志中看到PHP级错误消息。 @之前的stream_socket_accept运算符会抑制错误消息。 (@ symbol in php