php - socket_read(): 无法从套接字读取 [10060]
问题描述
我正在尝试通过 tcp 连接到打印机。我能够连接,我能够发送命令,但我无法从套接字读取。
这是代码:
$command = "...";
$socket = socket_create(AF_INET, SOCK_STREAM, SOL_TCP);
socket_set_option($socket, SOL_SOCKET, SO_RCVTIMEO, array("sec" => 20, "usec" => 0));
$connection = @socket_connect($socket, '192.168.1.100', 9100);
if( $connection ) {
echo 'ONLINE<br>';
socket_write($socket, $command, strlen ($command)) or die("Could not write output\n");
$read = socket_read($socket, 1024, PHP_NORMAL_READ) or die("Could not read input\n");;
echo $read;
socket_close($sock);
}
else {
echo 'OFFLINE: ' . socket_strerror(socket_last_error( $socket ));
}
我确定我已连接。如果我不打电话,我可以在屏幕上socket_read
看到“ ”。
如果我调用函数,这是我得到的消息:ONLINE
socket_read
socket_read(): 无法从套接字读取 [10060]
解决方案
推荐阅读
- android - 如何在有根的 Android 7.1 手机中编辑 GPS 位置
- c - 如何用指针在C中构造链表,不断出错
- html - 如何以交替样式对齐图像和文本
- entity-framework - AutoMapper EF6 ProjectToList
“找不到方法” - c# - 如何通过 ASP.Net Core WebApi 流式传输网络摄像头
- html - 为什么这个 SVG 被裁剪而不是按比例缩小(仅在 React 中)
- php - 为什么我的所有评论都显示在所有帖子上?WordPress
- docker - 在 Docker 容器中添加用户,运行 Jenkins 作业时 UID 不匹配
- sql - 雪花 - 计算逗号分隔列表中的不同值
- python - 如何在与 API Gateway 集成的 AWS Lambda python 中执行 302 重定向?