Я пытаюсь проверить связь клиент-сервер с помощью программирования сокетов на PHP. Попробовав несколько примеров, приведенных на Справочном сайте PHP, связь работает нормально.
Но проблема в том, что я получаю некоторые поддельные или недопустимые символы в буфере.
php сокеты недопустимые символы http://i60.tinypic.com/oqwyz4.png
Конечно, я могу уничтожить их, используя Regex, но было бы лучше узнать причину этого.
я думаю что этот человек также имеет ту же проблему.
Исходный код сервера:
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);
Любая помощь будет оценена 🙂
Задача ещё не решена.
Других решений пока нет …