WEB开发网
开发学院手机开发Windows Mobile 开发 Windows Mobile中如何建立GPRS连接以便Socket能正... 阅读

Windows Mobile中如何建立GPRS连接以便Socket能正常通信

 2010-08-22 12:42:00 来源:WEB开发网   
核心提示:BOOL CConnectManager::WaitForConnected ( int nTimeoutSec, DWORD *pdwStatus/*=NULL*/ ){DWORD dwStartTime = GetTickCount ();BOOL bRet = FALSE;while ( GetTickCount

BOOL CConnectManager::WaitForConnected ( int nTimeoutSec, DWORD *pdwStatus/*=NULL*/ )

{

DWORD dwStartTime = GetTickCount ();

BOOL bRet = FALSE;

while ( GetTickCount ()-dwStartTime < (DWORD)nTimeoutSec * 1000 )

{

if ( m_hConnection )

{

DWORD dwStatus = 0;

HRESULT hr = ConnMgrConnectionStatus ( m_hConnection, &dwStatus );

if ( pdwStatus ) *pdwStatus = dwStatus;

if ( SUCCEEDED(hr) )

{

if ( dwStatus == CONNMGR_STATUS_CONNECTED )

{

bRet = TRUE;

break;

}

}

}

Sleep ( 100 );

}

return bRet;

}

至此,我们的连接启用工作已经做完了,我们可以用我们熟悉的 socket 来编写网络通信程序了。下面是一个测试 socket 测试网络连接是否能正常建立的例子:

SetWaitCursor ();

CSocket sock;

sock.Create ();

if ( sock.Connect ( _T("www.baidu.com"), 80 ) )

{

RestoreCursor ();

AfxMessageBox ( _T("Connect to www.baidu.com successfully"), MB_ICONINFORMATION );

}

else

{

RestoreCursor ();

AfxMessageBox ( _T("Connect to www.baidu.com failed") );

}

GPRSDemo.exe 的使用

程序启动以后出现如下界面:

连接可用性 ? 检测连接管理器是否可用

映射URL ? 是让系统自动寻找一个最好的连接

枚举网络标识符 ? 将当前系统中所有可用的连接都会被枚举出来

连接网络 ? 将枚举出来的连接选中的那个连接进行连接启用操作。

连接状态 ? 表示可以获取到当前连接的状态;

连接到公网测试 ? 利用 www.baidu.com 来测试连接是否已经正常启动。

操作步骤:

可以直接按“枚举网络标识符”,程序将所有当前在用的网络枚举出来并添加到 ListBox 控件中;

连接网络。选择一个连接(例如:Internet),按“连接网络”按钮,当提示 Connection net successfully 表示连接已经正常启用了。

按“连接到公网测试”按钮,软件自动和 www.baidu.com 进行连接测试。

上一页  1 2 3 

Tags:Windows Mobile 如何

编辑录入:coldstar [复制链接] [打 印]
赞助商链接