函式名:socket_last_error()
函式描述: socket_last_error() 函式返回最近一次 socket 操作的錯誤碼。
用法: int socket_last_error ( resource $socket )
引數:
- $socket:socket 資源。
返回值: 返回一個整數值,表示最近一次 socket 操作的錯誤碼。如果沒有錯誤發生,返回 0。
示例:
// 建立一個 TCP socket
$socket = socket_create(AF_INET, SOCK_STREAM, SOL_TCP);
// 連線到遠端伺服器
$result = socket_connect($socket, '127.0.0.1', 80);
// 檢查連線是否成功
if ($result === false) {
// 獲取最近一次 socket 錯誤碼
$errorCode = socket_last_error($socket);
// 獲取錯誤訊息
$errorMessage = socket_strerror($errorCode);
echo "連線失敗,錯誤碼: $errorCode, 錯誤資訊: $errorMessage";
} else {
echo "連線成功!";
}
// 關閉 socket 連線
socket_close($socket);
在上面的示例中,我們首先建立了一個 TCP socket,並嘗試連線到遠端伺服器。如果連線失敗,我們使用 socket_last_error() 函式獲取最近一次 socket 操作的錯誤碼,並使用 socket_strerror() 函式獲取對應的錯誤訊息。如果連線成功,則顯示連線成功的訊息。最後,我們關閉了 socket 連線。
請注意,socket_last_error() 函式只返回最近一次 socket 操作的錯誤碼,如果你在多次 socket 操作後需要獲取錯誤碼,應該在每次操作後及時呼叫該函式。