php - 传输端点未连接

标签 php sockets websocket

我的代码是这样的,但不起作用

<?php
    $sock = socket_create(AF_INET, SOCK_STREAM, 0);
    $sk = socket_connect($sock,"10.0.1.43","1234");
    socket_set_nonblock($sock);

    while (1) {        
        sleep(2);
        $buffer=socket_read($sock,512);
        echo "Buffer = $buffer \n";
        echo "Last Error = ".socket_last_error($sock).socket_strerror(socket_last_error($sock))."\n";        
    }        
?>

显示错误:

无法从套接字读取[107]:传输端点未连接 PHP 堆栈跟踪: 缓冲区=
最后一个错误 = 107传输端点未连接

谢谢

最佳答案

您必须首先接受连接!在 while() 循环中,执行另一个 while(),如下所示:

while($client = socket_accept($sock)) {
    $buffer=socket_read($client, 512);
    echo "Buffer = $buffer \n";
}

它应该可以正常工作,如您所愿。

关于php - 传输端点未连接,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6148681/

相关文章:

php - 在单个 mysql 查询中,从一个表中选择多行,每行包含来自链接表的多行

PHP openssl_pkcs7_verify 不工作

PHP:用度,分和秒格式化纬度和经度

php - 使用 PHP 创建 XML 站点地图

c - 通过TCP接收和发送数据

ssl - RabbitMQ Web-MQTT WSS​​ 关闭客户端连接。不安全的 WS 和其他安全协议(protocol)工作

sockets - 横向扩展套接字服务器

c - 双发送/接收问题

authentication - 如何在 django channel 上使用 Knox token 身份验证对 websocket 连接进行身份验证?

php - 在 SilverStripe 中运行的 Ratchet Web 套接字服务器