制作套接字服务器时CLI输出中的奇怪字符

时间:2015-02-08 14:55:00

标签: php sockets client server

我正在尝试使用PHP中的Socket编程来测试客户端 - 服务器通信。尝试在PHP参考站点上给出的一些示例后,通信正常。

但是,问题是我在缓冲区中出现了一些虚假或无效的字符。

php sockets invalid characters http://i60.tinypic.com/oqwyz4.png

当然,我可以使用正则表达式消除它们,但知道背后的原因会更好。

我认为this person也有同样的问题。

服务器源代码:

error_reporting(E_ALL);

set_time_limit(0);

$address = "tcp://192.168.1.60:9160";

$sock = stream_socket_server($address, $errcode, $errstring);

if (!$sock) {
    echo $errcode.": ".$errstring."\n";
}
else {
    do {
        while ($client = stream_socket_accept($sock)) {
            fwrite($client, "*** Welcome ***".PHP_EOL);
            $input = trim(fgets($client, 2048));
            if (!empty($input)) {
                fwrite($client, "Server: ".$input.PHP_EOL);
            }
            else {
                fwrite($client, "--- NO INPUT ---".PHP_EOL);
            }
            echo trim($input).PHP_EOL;
            if ($fp = fopen("log.txt", "a+")) {
                fwrite($fp, trim($input).PHP_EOL);
                fclose($fp);
            }
            fclose($client);
        }
    } while (true);
}

fclose($sock);

任何帮助将不胜感激:)

0 个答案:

没有答案