1
我有使用react \ socket的TCP套接字服務器。ReactPHP /套接字服務器 - 設置連接超時
根據從客戶端收到的數據,它做了一些事情,然後它關閉與客戶端的連接。
問題是我不明白如何使連接超時, 如果服務器一段時間沒有收到任何數據,如何關閉連接?
我要找一樣我與stream_socket_accept()使用stream_set_timeout()
<?php
require __DIR__ . '/vendor/autoload.php';
$loop = React\EventLoop\Factory::create();
$socket = new React\Socket\Server($loop);
$socket->listen(2222);
$socket->on('connection', function ($conn) {
$conn->on('data', function ($data) use ($conn) {
if (substr($data, 0, 3) == 'one') {
$conn->end('end_two');
}
else if (substr($data, 0, 3) == 'two') {
$conn->end('end_two');
}
else {
$conn->close();
}
});
});
$loop->run();
stream_set_timeout($client, 5);