@thevalakas

Как получить отправленные данные на php SocketServer?

Здравствуйте, пишу сокет сервер на develnext.
Вот такой код:
"use php\net\ServerSocket;
use php\lang\Thread;

$thread = new Thread(function () {

$socket = new ServerSocket();
$socket->bind("127.0.0.1", 80);

while ($client = $socket->accept()) {
uiLater(function() {
$this->textArea->text .= $client;
});
}

});

$thread->start();"

При отправке на него данных с клиента не могу их получить, $client возвращает пустой объект.
  • Вопрос задан
  • 501 просмотр
Пригласить эксперта
Ответы на вопрос 3
Rou1997
@Rou1997
на develnext.

А на Brainf*ck не пробовали? И на Тостер с этим прийти, мол не получается TCP-сервер сделать!

$client возвращает пустой объект.

А клиентская часть рабочая?
Ответ написан
@thevalakas Автор вопроса
Уже разобрался, можете не отвечать
Ответ написан
use php\net\ServerSocket;
use php\lang\Thread;

$thread = new Thread(function () {
    $socket = new ServerSocket();
    $socket->bind("127.0.0.1", 80);

    while ($client = $socket->accept()) {
        $content = $client->read(1); // читаем 1 байт из сокета

        uiLater(function() use ($content) {
            $this->textArea->text .= $content;
        });

        $client->close();
    }
});

$thread->start();


в переменной $client находится не строка, а объект Stream (jphp-docs.readthedocs.io/en/latest/api_en/php/io/Stream ).

P.S. Весь код относится к JPHP.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы