socket_listen
偵聽套接字上的連接
函數名稱:socket_listen()
適用版本:PHP 4 >= 4.1.0, PHP 5, PHP 7
函數描述:socket_listen() 函數用於將一個套接字標記為被動套接字,開始監聽連接請求。
語法:bool socket_listen ( resource $socket [, int $backlog = 0 ] )
參數:
返回值:成功時返回true,失敗時返回false。
示例:
// 创建套接字$socket = socket_create(AF_INET, SOCK_STREAM, SOL_TCP); if ($socket === false) { die("套接字创建失败: " . socket_strerror(socket_last_error())); } // 绑定套接字到IP和端口$bind = socket_bind($socket, '127.0.0.1', 8080); if ($bind === false) { die("套接字绑定失败: " . socket_strerror(socket_last_error($socket))); } // 开始监听连接请求$listen = socket_listen($socket, 5); if ($listen === false) { die("监听失败: " . socket_strerror(socket_last_error($socket))); } echo "正在监听连接请求...\n"; // 接受客户端连接$clientSocket = socket_accept($socket); if ($clientSocket === false) { die("接受连接失败: " . socket_strerror(socket_last_error($socket))); } echo "已接受客户端连接。\n"; // 关闭套接字socket_close($socket);
在上面的示例中,我們首先創建了一個套接字,然後將其綁定到本地IP地址和端口。接下來,使用socket_listen() 函數開始監聽連接請求,它將套接字標記為被動套接字,並指定了最大等待連接的數量為5。然後,我們使用socket_accept() 函數接受來自客戶端的連接。
請注意,示例中的錯誤處理僅供參考,實際應用中可能需要根據具體情況進行適當的錯誤處理。