php - stream_socket_accept()失败时如何查找错误代码/原因

标签 php sockets error-handling

我有一个用PHP编写的流套接字服务器。
为了查看一次可以处理多少个连接,我用C语言编写了一个模拟器来创建1000个不同的客户端以连接到服务器。
stream_socket_accept几次返回false。
我需要找出失败的原因。

我尝试使用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 ***

}

最佳答案

我现在可以在日志中看到PHP级错误消息。 @禁止显示错误消息之前的stream_socket_accept运算符。 (@ symbol in php)

关于php - stream_socket_accept()失败时如何查找错误代码/原因,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18658064/

相关文章:

PHP - 无法回显 $row

php - 不能使用 CURLOPT_INTERFACE

.htaccess - .htaccess不会重定向到错误页面

python - 让一个线程中的 "socket.accept"在另一个线程中的某些代码之前执行? (python3)

php - 检查外部 PHP 文件中的 fatal error ?

http - 微服务应如何处理409响应?

使用自定义 header 的 PHP 重定向

php - 隐藏数据库在 phpMyAdmin 中创建两个本地主机服务器

c++ - 套接字打印奇怪

java - 在 Java 中实现 FTP - 连接到 PASV 命令的 227 响应中指定的端口