本文整理匯總了PHP中select::remove方法的典型用法代碼示例。如果您正苦於以下問題:PHP select::remove方法的具體用法?PHP select::remove怎麽用?PHP select::remove使用的例子?那麽, 這裏精選的方法代碼示例或許可以為您提供幫助。您也可以進一步了解該方法所在類select
的用法示例。
在下文中一共展示了select::remove方法的1個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的PHP代碼示例。
示例1: htmlentities
// 建立到真實服務器的socket
$server_sock = socket_create(AF_INET, SOCK_STREAM, SOL_TCP);
socket_connect($server_sock, "127.0.0.1", $listen_port);
// 建立真實服務器socket和真實客戶端socket之間的映射關係
$socket_maps1[$new_client] = $server_sock;
$socket_maps2[$server_sock] = $new_client;
// 添加到select輪詢中
$select->add($server_sock);
// $listen_sock的可讀數據是因為有新連接,已經處理了。暫時去掉,因為下麵開始處理數據轉發
//select->remove( $listen_sock );
} else {
// 讀取數據,失敗則從輪詢socket中刪除,並關閉socket
$client_data = @socket_read($socket, 1024, PHP_NORMAL_READ);
if ($client_data === false) {
socket_close($socket);
$select->remove($socket);
echo "client disconnected.<br />";
continue;
}
// 如果socket在$socket_maps1的key中,說明是從客戶端讀到了數據
if (in_array($socket, array_keys($socket_maps1))) {
//echo "readed from client.<br />";
if (!socket_write($socket_maps1[$socket], $client_data)) {
socket_close($socket);
socket_close($socket_maps1[$socket]);
$select->remove($socket);
$select->remove($socket_maps1[$socket]);
print "Write to server error.<br />";
}
print htmlentities($client_data) . "</b><br />";
} elseif (in_array($socket, array_keys($socket_maps2))) {