Socket擴(kuò)展編寫的目的是提供一個(gè)面向功能強(qiáng)大的BSD Socket的可用的接口。它能確保這些函數(shù)在Win32和Unix平臺上都能很好的工作。
在特定條件下,大部分socket函數(shù)如果發(fā)生錯(cuò)誤都會(huì)發(fā)出一個(gè)
E_WARNING
信息描述錯(cuò)誤內(nèi)容。有時(shí)可能并不會(huì)如開發(fā)者所愿。例如,因?yàn)檫B接突然中斷,
socket_read()函數(shù)可能會(huì)突然發(fā)出一個(gè)
E_WARNING
。
通常會(huì)使用@
操作符來壓制異常,然后在程序中用socket_last_error()來捕獲錯(cuò)誤代碼。
你可以調(diào)用socket_strerror()函數(shù)通過錯(cuò)誤代碼獲取錯(cuò)誤描述。查看函數(shù)描述獲取更多信息。
注意:
Socket擴(kuò)展發(fā)出的
E_WARNING
信息都是英文的,但獲取到的錯(cuò)誤描述會(huì)根據(jù)當(dāng)前的locale展示。 (LC_MESSAGES
):Warning - socket_bind() unable to bind address [98]: Die Adresse wird bereits verwendet