socket 擴充套件的編寫是為了提供一個可用的介面,以使用功能強大的 BSD sockets。我們已仔細確保這些函式在 Win32 和 Unix 實作上都能正常運作。幾乎所有 socket 函式在某些情況下都可能失敗,因此會發出一個 E_WARNING
訊息來描述錯誤。有時這並非開發人員所期望的。例如,函式 socket_read() 可能會因為連線意外中斷而突然發出 E_WARNING
訊息。通常的做法是使用 @
運算子抑制警告,並在應用程式中使用 socket_last_error() 函式擷取錯誤碼。您可以使用此錯誤碼呼叫 socket_strerror() 函式來取得描述錯誤的字串。詳情請參閱其說明。
注意:
雖然擷取到的錯誤訊息會根據目前的語系環境 (
LC_MESSAGES
) 顯示,但 socket 擴充套件產生的E_WARNING
訊息仍為英文。Warning - socket_bind() unable to bind address [98]: Die Adresse wird bereits verwendet