游戏开发论坛

 找回密码
 立即注册
搜索
查看: 1993|回复: 4

网络断线以下就是各种解决方法 wxh zt

[复制链接]

1367

主题

1993

帖子

2118

积分

金牌会员

Rank: 6Rank: 6

积分
2118
发表于 2004-10-14 22:41:00 | 显示全部楼层 |阅读模式


1、有一个ras的api函数RasEnumConnections可以查出现在系统中所有的连接,返回是0就是没有连接了。
下面是一个例子:
BOOL WINAPI IsModemOnline()
{
RASCONN ras[20];
DWORD dSize,dNumber,dCount;

ras[0].dwSize = sizeof(RASCONN);

dSize = sizeof( ras );

if( RasEnumConnections( ras, &dSize, &dNumber ) == 0 )
if(dNumber>0)return TRUE;
return FALSE;

}


如果返回TRUE就表示有连接。该例子在VC 6.0 pack2 + Win2000 pro通过。



2

用Win32 API 函数,定义在Wininet.h中:
BOOL InternetGetConnectedState()
VC/BC/BCB 都可用。

3、在线返回 TRUE, 掉线返回 FALSE。遍历系统中所有 RAS 连接判断连接情况。Win2K/98 VC6 通过
BOOL CRasThread::GetConnectState()
{

LPRASCONN lpRasConn = NULL;
DWORD cbBuf = 0;
DWORD cConn = 0;
DWORD dwRet = 0;
HRASCONN hrasconn;
RASCONNSTATUS rasStatus;
UINT ndx;

// enumerate connections
cbBuf = sizeof(RASCONN);

if ( (lpRasConn = ( LPRASCONN ) malloc((UINT)cbBuf)) != NULL)
{
lpRasConn->dwSize = sizeof( RASCONN );
dwRet = RasEnumConnections( lpRasConn, &cbBuf, &cConn );
for (ndx = 0; ndx < cConn; ndx++)
{
// get to HRASCONN
hrasconn = lpRasConn[ndx].hrasconn;
// get connection status
rasStatus.dwSize = sizeof(RASCONNSTATUS);
dwRet = RasGetConnectStatus( hrasconn, &rasStatus );
if ( dwRet )
return 0;
else
{
if (rasStatus.rasconnstate == RASCS_Connected)
return 1;
else return 0;
}
}
}
else
{
return 0;
}

}

59

主题

1104

帖子

1199

积分

金牌会员

Rank: 6Rank: 6

积分
1199
发表于 2004-10-15 11:16:00 | 显示全部楼层

Re:网络断线以下就是各种解决方法 wxh zt

获取RAS connection有什么用?
这些都不是属于TCP/IP层的断线检测的。

60

主题

1319

帖子

1319

积分

金牌会员

Rank: 6Rank: 6

积分
1319
发表于 2004-10-15 11:56:00 | 显示全部楼层

Re:网络断线以下就是各种解决方法 wxh zt

我还是喜欢select

0

主题

21

帖子

28

积分

注册会员

Rank: 2

积分
28
发表于 2004-10-19 13:21:00 | 显示全部楼层

Re:网络断线以下就是各种解决方法 wxh zt

的确是没什么用哦!!

28

主题

685

帖子

703

积分

高级会员

Rank: 4

积分
703
发表于 2004-10-19 15:42:00 | 显示全部楼层

对游戏服务器设计用处不太大,不过顶一下。

鼓励
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

作品发布|文章投稿|广告合作|关于本站|游戏开发论坛 ( 闽ICP备17032699号-3 )

GMT+8, 2025-12-22 21:06

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表