當前位置: 首頁> 函數類別大全> socket_accept

socket_accept

接受套接字上的連接
名稱:socket_accept
分類:套接字Sockets
所屬語言:php
一句話介紹:接受一個連接請求,並返回一個新的套接字資源,用於與客戶端進行通信

函數名:socket_accept()

適用版本:PHP 4 >= 4.1.0, PHP 5, PHP 7

用法:socket_accept() 函數用於接受一個連接請求,並返回一個新的套接字資源,用於與客戶端進行通信。

語法:resource socket_accept ( resource $socket )

參數:

  • $socket:必需,一個監聽套接字資源,由socket_create() 或socket_accept() 返回。

返回值:成功時返回一個新的套接字資源,用於與客戶端通信。失敗時返回FALSE,並可通過socket_last_error() 獲取錯誤碼。

示例:

 // 创建套接字$socket = socket_create(AF_INET, SOCK_STREAM, SOL_TCP); // 绑定套接字到IP 地址和端口socket_bind($socket, '127.0.0.1', 8080); // 开始监听连接socket_listen($socket); // 接受客户端连接请求$clientSocket = socket_accept($socket); // 与客户端进行通信while (true) { // 从客户端接收数据$data = socket_read($clientSocket, 1024); // 处理数据// 向客户端发送响应socket_write($clientSocket, "Hello, client!"); // 结束通信if ($data === 'quit') { socket_close($clientSocket); break; } } // 关闭套接字socket_close($socket);

上述示例中,我們創建了一個套接字並綁定到本地的8080 端口。然後通過socket_listen() 函數開始監聽連接。當有客戶端連接請求時,我們使用socket_accept() 來接受連接,並返回一個新的套接字資源$clientSocket。然後我們進入一個循環,通過socket_read() 從客戶端接收數據,處理數據後通過socket_write() 向客戶端發送響應。如果接收到的數據為"quit",則關閉與客戶端的連接並結束通信。最後我們使用socket_close() 關閉套接字。

同類函數