|
dsysps
初级用户
积分 98
发帖 34
注册 2006-11-3
状态 离线
|
『楼 主』:
DOS网络编程读写超时控制问题
系统环境OS,MSCLIENT3.0,如何实现读写超时限制?如何实现连接超时限制?
|
|
2006-11-4 04:58 |
|
|
dsysps
初级用户
积分 98
发帖 34
注册 2006-11-3
状态 离线
|
『第
2 楼』:
使用如下代码,如果网络断了,有几分钟不返回
rc=connect(sd,(struct sockaddr*)&server_addr,sizeof(server_addr));
if(rc<0)
{
printf("ERROR:connect() err no:%d\n",errno);
close_socket(sd);
return;
}
|
|
2006-11-4 05:01 |
|
|
spoton
初级用户
积分 54
发帖 25
注册 2006-10-31 来自 疯人院
状态 离线
|
『第
3 楼』:
ms-client 俺不知道是啥
但那个 tcp/ip socket 有 option 可加
setsockopt( fd_s, SOL_SOCKET, SO_RCVTIMEO, &tor, sizeof(tor));
ETC...(MS-CLIENT 我不知有无)
|
|
2006-11-6 12:04 |
|
|
dsysps
初级用户
积分 98
发帖 34
注册 2006-11-3
状态 离线
|
『第
4 楼』:
MSCLIENT中没有SO_RCVTIMEO定义
WINDOWS下实现读写读写超时限制可以用
int MilliSeconds = 1000;
setsockopt(sConnect,SOL_SOCKET, SO_RCVTIMEO,
(char *)&MilliSeconds, sizeof(MilliSeconds));
setsockopt(sConnect, SOL_SOCKET, SO_SNDTIMEO,
(char *)&MilliSeconds, sizeof(MilliSeconds));
connect超时如何限制?
|
|
2006-11-6 21:44 |
|
|
dsysps
初级用户
积分 98
发帖 34
注册 2006-11-3
状态 离线
|
『第
5 楼』:
到现在还没有解决,请大家帮忙!!!!
|
|
2006-11-17 23:40 |
|
|
dsysps
初级用户
积分 98
发帖 34
注册 2006-11-3
状态 离线
|
『第
6 楼』:
再次恳请大家帮忙,困扰小弟半年多了!!!!!!
|
|
2007-5-31 15:19 |
|
|
whowin
初级用户
积分 134
发帖 37
注册 2006-9-28
状态 离线
|
『第
7 楼』:
dos实模式下的网络编程,我认为最好用的库是DMP做的DSOCK
32位下的比较多,比较好用的应该是WATTCP
两个都能实现超时处理,而且WATTCP是用标准的SELECT方法实现的,非常好
MS的东西尽量少用,尤其在工控场合,MS除了出过一个好东西DOS外,没有出过任何好东西,其实MS-DOS最早也不是他们的,只是MS-DOS最后发展的最好.
上面说到的两个都是免费的,网址分别是:
www.dmp.com.cn
http://www.bgnett.no/~giva/
不过两者都需要PACKET DRIVER,不过你能用MSCLIENT,应该是有PACKET driver的.
|
|
2007-5-31 16:37 |
|
|