【问题标题】:php TCP socket readphp TCP 套接字读取
【发布时间】:2016-08-10 14:10:18
【问题描述】:

我得到了 PHP 套接字客户端的示例代码并试用。 有没有办法继续循环socket_read并将接收消息连续传递给局部变量甚至会话,以便另一个php可以显示它?

while (true) {
    $out = socket_read($socket, 2048);
    echo $out;
}

谢谢

【问题讨论】:

    标签: php sockets tcp


    【解决方案1】:

    您创建会话并连接套接字。然后,读取套接字并在会话中保存值。

    session_start();
    // create socket
    $socket = socket_create(AF_INET, SOCK_STREAM, 0) or die("Could not create socket\n");
    // connect to server
    $result = socket_connect($socket, $host, $port) or die("Could not connect to server\n");
      while (true) {
         $result = socket_read ($socket, 1024) or die("Could not read server response\n");
         $_SESSION["result"]=$result;
      }
    

    【讨论】:

    • 这个结果已经试过了,但是socket_read之后结果不会立即出现在会话中,而是会等到连接关闭后再传入结果。还有其他方法或更好的解决方案吗?我正在尝试使用 php socket 构建一个 TCP 聊天程序。
    • 尝试运行wireshark并仔细检查数据是否实际发送。一旦能够从 TCP 流中获取至少 1 个字节的数据,带有 PHP_BINARY_READ 的 socket_read() 应该返回。
    • 数据已实际发送,因为我可以使用 telnet 连接到它。您可以尝试以下信息:地址:pkuxkx.net 端口:8080
    猜你喜欢
    • 2019-04-02
    • 1970-01-01
    • 2018-04-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多