微波EDA网,见证研发工程师的成长!
首页 > 硬件设计 > 嵌入式设计 > GPRS开发系列文章之进阶篇

GPRS开发系列文章之进阶篇

时间:10-08 来源:互联网 点击:

tus = 0;

hResult = ConnMgrEstablishConnectionSync(ConnInfo, m_hConnection, 10*1000, dwStatus );

if(FAILED(hResult))

{

m_hConnection = NULL;

}

else bRet = TRUE;

}

return bRet;

}

检测连接状态

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;

}

最后要记得释放连接

void CConnectManager::ReleaseConnection ()

{

if ( m_hConnection )

{

ConnMgrReleaseConnection(m_hConnection, FALSE);

m_hConnection = NULL;

}

}

2. 客户端与服务器端进行socket通信APIsocket通信相关开发API在Winsock2.h.文件中定义,因为SOCKET通信不是本文的重点但是又是必须要涉及的

a) WSAStartup函数。在应用程序进行Windows Sockets通信时,必须首先调用此函数来指定应用程序要加载的Windows Scoket版本等信息,应用程序结束前我们应该调用WSACleanup去释放掉所用的系统资源

b) Connect 函数。此函数用来建立连接

c) Select 函数。建立连接后,用来侦听是否有数据传输

d) Send函数。用于给服务器发送消息

3. 服务器端与客户端进行socket通信

服务器端主要涉及到的库为:

System.Net,System.Net.Sockets,System.IO;

System.Net 命名空间为当前网络上使用的多种协议提供了简单的编程接口,System.Net.Sockets 命名空间为需要严密控制网络访问的开发人员提供了Windows Sockets (Winsock) 接口的托管实现。

System.IO 命名空间包含允许读写文件和数据流的类型以及提供基本文件和目录支持的类型。

需要了解的技术有:多线程,事件与委托,SOCKET通信等

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top