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)聽的一個(gè)套接字實(shí)例。此函數(shù)接受在 socket 上創(chuàng)建的連接。當(dāng)連接被成功創(chuàng)建后,返回一個(gè)可用于通信的 Socket 實(shí)例。若有多個(gè)連接排隊(duì),返回隊(duì)頭第一個(gè)連接。若沒有待處理的連接,那么 socket_accept() 默認(rèn)阻塞,直到有一個(gè)連接出現(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í)例。

返回值

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

更新日志

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

參見