社区
网络编程
帖子详情
如何设置网络操作超时?
mrnian2008
2008-09-26 05:09:43
在连接服务器时,有时长时间连接不上,就一直阻塞在那里不动了,有时是接收数据时也会出现这种问题。
我想用定时器来处理一下,比如连接阻塞超过20秒我就再连接一次,如果还不行就不连了,请问怎么处理?
我的连接函数为ConnectServer(strIp,nPort);
...全文
222
8
打赏
收藏
如何设置网络操作超时?
在连接服务器时,有时长时间连接不上,就一直阻塞在那里不动了,有时是接收数据时也会出现这种问题。 我想用定时器来处理一下,比如连接阻塞超过20秒我就再连接一次,如果还不行就不连了,请问怎么处理? 我的连接函数为ConnectServer(strIp,nPort);
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
8 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
mrnian2008
2008-10-24
打赏
举报
回复
谢谢大家,结贴给分。
zolen
2008-10-15
打赏
举报
回复
setsockopt 就可以轻松设置发送和接受超时.
奉海
2008-10-13
打赏
举报
回复
用异步方式
lhtang
2008-10-13
打赏
举报
回复
创建非组塞套接口就对了,其实楼上都正解了.
kmarshal
2008-10-13
打赏
举报
回复
使用非阻塞SOCK,创建一个事件,绑定该SOCKET的FD_CONNECT事件,投递完CONNECT后使用
DWORD WaitForSingleObject( HANDLE hHandle, DWORD dwMilliseconds ); 函数的第二个参数就是你要设置的超时时间,通过判断WaitForSingleObject的返回值就可以知道是超时还正常返回了
mrnian2008
2008-10-08
打赏
举报
回复
不行啊 还是阻塞在CONNECT上了
WinEggDrop
2008-09-26
打赏
举报
回复
1.将socket设置为非阻塞
struct timeval ConnectionTimeOut;
ConnectionTimeOut.tv_sec = 8;
ConnectionTimeOut.tv_usec = 0;
while(TRUE)
{
iRet = connect(ClientSocket, (LPSOCKADDR)&ssin, sizeof(SOCKADDR_IN));
if (iRet == SOCKET_ERROR)
{
if (WSAGetLastError() != WSAEWOULDBLOCK)
{
break;
}
}
else
{
IsFlag = TRUE;
break;
}
FD_ZERO(&fdwrite);
FD_ZERO(&fdexcept);
FD_SET(ClientSocket,&fdwrite);
FD_SET(ClientSocket,&fdexcept);
select(0,NULL,&fdwrite,&fdexcept,&ConnectionTimeOut);
if (FD_ISSET(ClientSocket,&fdexcept)) // 出现错误
{
break;
}
if (FD_ISSET(ClientSocket,&fdwrite)) // 成功连接上
{
break;
}
else
{
break;
}
}
以上代码就是8秒超时连接
chenchangxiong
2008-09-26
打赏
举报
回复
用select函数好像可以设置,不过我遇到这个问题使用多线程解决的
Socket编程例子
Socket编程例子
httpclient.jar包下载
httpclient.jar下载 包括code.jar包
android
设置
网络
超时
时间
设置
,Android:AndroidHttpClient-如何
设置
超时
时间?
我已经按照kuester2000的回答进行了
操作
,但是我的
超时
设置
似乎不起作用。try{int timeout = 3000;URL myURL = //some valid URLAndroidHttpClient = AndroidHttpClient.newInstance("name");HttpGet httpGet = new HttpGet(myURL.toExternalForm(...
Qt 之处理 QNetworkAccessManager
网络
连接
超时
在
网络
操作
中,经常会由于各种原因引起
网络
连接
超时
,究竟何为
网络
连接
超时
?
服务器时间修改连接
超时
时间,服务器
设置
网络
连接
超时
时间
设置
服务器
设置
网络
连接
超时
时间
设置
内容精选换一换有以下几种现象:将制作好的SD卡插入开发者板并上电后,开发者板LED1与LED2灯状态信息异常。将制作好的SD卡插入开发者板,并通过USB方式连接Ubuntu服务器,上电、开发者板启动完成后,Ubuntu服务器无虚拟网卡信息。将制作好的SD卡插入开发者板,并通过NIC方式连接Ubuntu服务器,上电、开发者板启动完成,配置Ubuntu服务检查头显是否连...
网络编程
18,357
社区成员
64,187
社区内容
发帖
与我相关
我的任务
网络编程
VC/MFC 网络编程
复制链接
扫一扫
分享
社区描述
VC/MFC 网络编程
c++
c语言
开发语言
技术论坛(原bbs)
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章