socket_accept

(PHP 4 >= 4.1.0, PHP 5, PHP 7, PHP 8)

socket_accept接受套接字上的連接

說明

socket_accept(Socket $socket): Socket|false

socket 是從 socket_create() 創(chuàng)建,使用 socket_bind() 綁定,socket_listen() 監(jiān)聽的一個套接字實(shí)例。此函數(shù)接受在 socket 上創(chuàng)建的連接。當(dāng)連接被成功創(chuàng)建后,返回一個可用于通信的 Socket 實(shí)例。若有多個連接排隊(duì),返回隊(duì)頭第一個連接。若沒有待處理的連接,那么 socket_accept() 默認(rèn)阻塞,直到有一個連接出現(xiàn)。如果 socket 使用 socket_set_blocking()socket_set_nonblock() 設(shè)置為非阻塞,那么 socket_accept() 將直接返回 false。

socket_accept() 返回的 Socket 實(shí)例不能用于接受新的連接。但 socket 依然保持打開狀態(tài),并且可以繼續(xù)接受新的連接。

參數(shù)

socket

使用 socket_create() 創(chuàng)建的 Socket 實(shí)例。

返回值

成功時返回一個新的 Socket 實(shí)例,錯誤時返回 false??梢酝ㄟ^調(diào)用 socket_last_error() 來檢索實(shí)際的錯誤代碼。將錯誤代碼作為參數(shù)傳遞給 socket_strerror() 以獲得錯誤的文本解釋。

更新日志

版本 說明
8.0.0 成功時,該函數(shù)現(xiàn)在返回一個 Socket 實(shí)例;在此之前,返回值是一個 resource。

參見