react\socket を使用して TCP ソケット サーバーを使用しています。
クライアントから受信したデータに応じて、何かを行い、クライアントとの接続を閉じます。
問題は、サーバーが一定期間データを受信していない場合、接続をタイムアウトにする方法を理解できないことです。接続を閉じる方法は?
stream_set_timeout() を使用して stream_socket_accept() で行ったのと同じものを探しています
<?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);