我想让recvfrom()接收消息,在没有消息到来时,等待一段时间后就停止,继续执行其他操作;但是目前我的recvfrom()现在是没有消息来就一直处于等待状态,我怎么设置呢?是console程序 while(1)
{
int lenth=sendto ( theSocket,buffer,
lstrlen (buffer), 0,
(SOCKADDR *) &saUdpServ,
sizeof ( SOCKADDR_IN )); //发送一个广播包
lenth = WSAGetLastError();
Sleep(1000);
if( (lenth= recvfrom (theSocket,cRecvBuff,100,0, //在此等待广播包的响应ACK
(SOCKADDR FAR *) &saUdpServ,&nSize))==SOCKET_ERROR )
{
printf("can't receive ack!");
}
else //如果接收到了ACK就返回,没有接收到继续发送广播包
return inet_ntoa(saUdpServ.sin_addr);
}
{
int lenth=sendto ( theSocket,buffer,
lstrlen (buffer), 0,
(SOCKADDR *) &saUdpServ,
sizeof ( SOCKADDR_IN )); //发送一个广播包
lenth = WSAGetLastError();
Sleep(1000);
if( (lenth= recvfrom (theSocket,cRecvBuff,100,0, //在此等待广播包的响应ACK
(SOCKADDR FAR *) &saUdpServ,&nSize))==SOCKET_ERROR )
{
printf("can't receive ack!");
}
else //如果接收到了ACK就返回,没有接收到继续发送广播包
return inet_ntoa(saUdpServ.sin_addr);
}
解决方案 »
- VC++6.0 用ifstream读取文件 失败 参数为:-6.2774385622041925e+066
- vc中怎么总是说IXMLDOMDocument未定义?
- VC++中怎么显示含有Flash的网页文件?
- nmake 问题
- 关于CEdit的ToolTip的实现
- 向高手请教:CListCtrl的宽度设置问题
- 为什么不能#include <afx.h>?
- 刚接触VC的菜鸟的一个问题!高分!!!!!!
- 高手帮忙!200分一个问题。
- 如何不显示属性对话框而设置组件/控件属性啊?
- 求救:关于propertypage的问题
- 怎样把原来做的MDI文档程序封装到ActiveX里面?能不能实现啊,100分送上
你的那个是阻塞模式,不行的!