0
我有代碼如下,使用php7-zts和pthreads。我想知道如何正確清理完成的客戶端,所以我沒有內存泄漏。pthreads如何銷燬完成的套接字連接
<?php
class Client extends Thread {
public function __construct($socket){
$this->socket = $socket;
$this->start();
}
public function run(){
$msgsock = $this->socket;
if ($msgsock) {
if (false === ($buf = socket_read($msgsock, 2048, PHP_BINARY_READ))) {
echo "socket_read() failed: reason: " . socket_strerror(socket_last_error($msgsock)) . "\n";
}
......
$write_result = socket_send($msgsock, $result, strlen($result), MSG_EOF);
socket_close($msgsock);
//finished
}
}
}
...
//create, bind, and listen $sock
...
while(($client = socket_accept($sock))){
$clients[]=new Client($client);
}
?>