|
#include <ace/SOCK_Dgram.h>
#include <ace/INET_Addr.h>
#include <string>
#include <iostream>
using namespace std;
int main(int argc, char *argv[])
{
ACE_INET_Addr remoteAddr(3000,"192.168.0.1"); //所连接的远程地址
ACE_INET_Addr localAddr; //本地地址信息
ACE_SOCK_Dgram peer(localAddr); //通信通道
int j = peer.send("hello",5,remoteAddr); //发送消息
if (j != -1)
{
char buf[100];
int bc = peer.recv(buf,0,remoteAddr); //接收消息
if( bc != -1)
{
string s(buf,bc);
cout<<endl<<"rev:\t"<<s<<endl;
}
}
peer.close();
return 0;
}
上面是我的代码.
我的问题是如果192.168.0.1是ping不通的或者192.168.0.1没有发udp给我,那我的peer.recv()方法就一直堵塞在那了,请问这个该怎么解决. |
|