struct linger zerolinger;
int nSendTimeout = 6000;
bool result=false; SOCKET send_socket = ::socket(AF_INET,SOCK_DGRAM,IPPROTO_UDP);
if (send_socket<0)
{
//创建socket失败
return;
} //设置socket属性
zerolinger.l_onoff = 1;
zerolinger.l_linger = 5;
setsockopt(send_socket,SOL_SOCKET,SO_LINGER,(const char *)&zerolinger,sizeof(zerolinger)); setsockopt(send_socket,SOL_SOCKET,SO_SNDTIMEO,(const char *)&nSendTimeout,sizeof(nSendTimeout));

解决方案 »

  1.   

    一个是设置SO_LINGER,一个是设置SO_SNDTIMEO,两个又不一样
    SO_LINGER: The linger structure maintains information about a specific socket that specifies how that socket should behave when data is queued to be sent and the closesocket function is called on the socket.SO_SNDTIMEO:Sends time-out in milliseconds (available in the Microsoft implementation of Windows Sockets 2).
      

  2.   

    看了好几个楼主的帖子了,发现楼主看东西,既不看函数的全部,也不看msdn,也没百度过,甚至对2级英语单词的理解也有偏颇,然后就来提问来了,是分多吗?给我点吧~