當前位置:編程學習大全網 - 編程軟體 - socket 編程中 recvfrom沒有收到udp包(如網絡不通時),怎麽讓它返回?

socket 編程中 recvfrom沒有收到udp包(如網絡不通時),怎麽讓它返回?

若無錯誤發生,recvfrom()返回讀入的字節數。如果連接已中止,返回0。

否則的話,返回SOCKET_ERROR錯誤,應用程序可通過WSAGetLastError()獲取相應錯誤代碼。

錯誤代碼:

WSANOTINITIALISED:在使用此API之前應首先成功地調用WSAStartup()。

WSAENETDOWN:WINDOWS套接口實現檢測到網絡子系統失效。

WSAEFAULT:fromlen參數非法;from緩沖區大小無法裝入端地址。

WSAEINTR:阻塞進程被WSACancelBlockingCall()取消。

WSAEINPROGRESS:壹個阻塞的WINDOWS套接口調用正在運行中。

WSAEINVAL:套接口未用bind()進行捆綁。

WSAENOTCONN:套接口未連接(僅適用於SOCK_STREAM類型)。

WSAENOTSOCK:描述字不是壹個套接口。

WSAEOPNOTSUPP:指定了MSG_OOB,但套接口不是SOCK_STREAM類型的。

WSAESHUTDOWN:套接口已被關閉。當壹個套接口以0或2的how參數調用shutdown()關閉後,無法再用recv()接收數據。

WSAEWOULDBLOCK:套接口標識為非阻塞模式,但接收操作會產生阻塞。

WSAEMSGSIZE:數據報太大無法全部裝入緩沖區,故被剪切。

WSAECONNABORTED:由於超時或其他原因,虛電路失效。

WSAECONNRESET:遠端強制中止了虛電路。

判斷壹下,然後對應處理就行

  • 上一篇:Hadoop 請教學習順序
  • 下一篇:s80l沃爾沃怎麽樣?
  • copyright 2024編程學習大全網