首页 > 解决方案 > 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]

标签: phpsockets

解决方案


推荐阅读