代码如下:
int dTimeOut = 3000;
if(!sock.SetSockOpt(SO_RCVTIMEO,(char *)&dTimeOut,sizeof(int),SOL_SOCKET))
{
int nErr = WSAGetLastError();
return false;
}if(!sock.SetSockOpt(SO_SNDTIMEO,(char *)&dTimeOut,sizeof(int),SOL_SOCKET))
{
int nErr = WSAGetLastError();
return false;
}unsigned long ul1= 1 ;
if(!sock.IOCtl(FIONBIO, (unsigned long*)&ul1))
{
return false;
}然后我在后面的程序中,ReceiveFrom中,接收的时候会一直等待,而不是如果没有数据,等了3秒后,没有自动停止接收,而是在那一直等,怎么回事?>
int dTimeOut = 3000;
if(!sock.SetSockOpt(SO_RCVTIMEO,(char *)&dTimeOut,sizeof(int),SOL_SOCKET))
{
int nErr = WSAGetLastError();
return false;
}if(!sock.SetSockOpt(SO_SNDTIMEO,(char *)&dTimeOut,sizeof(int),SOL_SOCKET))
{
int nErr = WSAGetLastError();
return false;
}unsigned long ul1= 1 ;
if(!sock.IOCtl(FIONBIO, (unsigned long*)&ul1))
{
return false;
}然后我在后面的程序中,ReceiveFrom中,接收的时候会一直等待,而不是如果没有数据,等了3秒后,没有自动停止接收,而是在那一直等,怎么回事?>
解决方案 »
- ------------word03的类型库在哪儿?-----------
- 求在Vista,Win7下面System进程中无法使用GetLastInputInfo的解决办法
- 紧急求助达人: 我联系了家新单位,他们给我出了个难题:“PPT/Excel/Word等文件转成HTML”,而且不能用msoffice接口。 我都卡了很久了。 诸位高人有没有高招啊 郁闷啊 ....
- #include "" 和 #include <> 区别问题
- 一个简单的问题
- 两个简单的问题100分散
- 用VC开发一个console程序,要求与SqlServer数据库互操作,该如何访问?用ODBC类?ADO?
- 那位老兄能不能贴一个VB调用VC写的DLL的实例(字符串的传进传出)
- CFormView 使用TAB控件进行子窗口关联问题
- 如何提高vc编程水平,请各位各抒己见。
- 单击树控件的节点的时候想知道是第几个节点?
- 'CAdodc' : 'class' type redefinition(在线等答案)
http://www.kaifa6.com/v/mfcshouce/class/CAsyncSocket_SetSockOpt.htmSetSockOpt不支持的Berkeley软件发布(BSD)选项有:
值 类型 含义
SO_ACCEPTCONN BOOL 套接字正在监听,允许接收连接
SO_ERROR int 返回并清除错误状态
SO_RCVLOWAT int 接收最低水准标志
SO_RCVTIMEO int 接收到超时消息
SO_SNDLOWAT int 发送最低水准标志
SO_SNDTIMEO int 发送超时消息
SO_TYPE int 设置套接字的类型
IP_OPTIONS int 设置IP头上的选项字段