選項影響套接字操做,如 封包路由,OOB數據傳輸,獲取和設置套接字選項分別是 getsockopt setsockopt 用法以下:網絡
int getsockopt(SOCKET s,int level,int optname,char* optval,int* optlen);spa
int setsockopt(SOCKET s,int level,int optname,char* optval,int* optlen);code
每一個協議層套接字的選項有不一樣的級別:blog
應用層:SOL_SOCKET路由
傳輸層:IPPROTO_TCP IPPROTO_UDPget
網絡層:IPPROTO_IPclass
阻塞模式下,能夠調用recvfrom在指定的端口接收網絡封包im
若是封包還不到,設置套接字選項便可設置等待時間數據
BOOL SetTimeout(SOCKET s,int nTime,BOOL bRecv) { int ret = ::setsockopt(s,SOL_SOCKET, brecv?SO_RCVTIMEO:SO_SNDTIMEO,(char*)&nTime,sizeof(nTime)); }