Home >PHP Framework >Swoole >what is swoole fd
fd is the file descriptor of the tcp connection, which is the unique identifier of the client in swoole_server
fd is reused , when the connection is closed, the fd will be reused by the new incoming connection (Recommended learning: swoole video tutorial)
The TCP connection fd being maintained will not be reused
Calling the swoole_server->send/swoole_server->close function requires passing in the $fd parameter to be processed correctly.
If you need to send broadcasts in your business, you need to use apc/redis/memcache/swoole_table to save the value of fd.
In versions 1.7.10 and above, fd is no longer a file descriptor. fd is an auto-increasing number, ranging from 1 to 16 million
After fd exceeds 16 million, it will automatically be reused from 1
function my_onReceive($serv, $fd, $from_id, $data) { //向Connection发送数据 $serv->send($fd, 'Swoole: '.$data); //关闭Connection $serv->close($fd); }
$Why does fd use reshaping
$fd Use an integer instead of an object. The main reason is that swoole is a multi-process model. You may need to access a client connection at any time in the Worker process/Task process. If you use an object, you need to do this. Serialize/Unserialize. Adds additional performance overhead. If $fd is an integer, it can be used for direct storage and transfer.
In the PHP layer, client connections can also be encapsulated into objects. The advantage of object-oriented is that it is more readable and the operation of connection can be encapsulated into methods. Such as
$connection->send($data); $connection->close();
The above is the detailed content of what is swoole fd. For more information, please follow other related articles on the PHP Chinese website!