windows mobile 上c++访问 网络(http,websevicer)问题 vc2005 访问webservice 经验
像其他人写的文章一样,添加一个Web引用,关键的是访问时对gprs接入点进行管理,否则只能在模拟器上可以。或者真机上通过usb访问可以。
cmwap和cmnet管理
??????? 用ConnMgrQueryDetailedStatus得点进行管理到连接列表。对想要的接入点调用ConnMgrEstablishConnectionSync进行连接
??????? 我是对cmnet,cmwap,usb,wifi进行管理了
// usb
BOOL xxx::IsUsbConn(CONNMGR_CONNECTION_DETAILED_STATUS status)
{
??????? BOOL bret = ((status.dwType == CM_CONNTYPE_PC) && (status.dwSubtype == CM_CONNSUBTYPE_PC_DESKTOPPASSTHROUGH));
??????? if(bret)
??????? {
??????????????? m_conntype = CT_USB;
??????? }
??????? return bret;
}
// check the connection is WIFI connection
BOOL xxx::IsWifiConn(CONNMGR_CONNECTION_DETAILED_STATUS status)
{
??????? BOOL bret = ((status.dwType == CM_CONNTYPE_NIC) && (status.dwSubtype == CM_CONNSUBTYPE_NIC_WIFI));
??????? if(bret)
??????? {
??????????????? m_conntype = CT_WIFI;
??????? }
??????? return bret;
}
// check the connection is cmnet connection
BOOL xxx::IsCMNETConn(CONNMGR_CONNECTION_DETAILED_STATUS status)
{
??????? if((status.dwType == CM_CONNTYPE_CELLULAR)
??????????????? && ((status.dwSubtype == CM_CONNSUBTYPE_CELLULAR_EDGE)
??????????????? ||(status.dwSubtype == CM_CONNSUBTYPE_CELLULAR_UMTS)
??????????????? ||(status.dwSubtype == CM_CONNSUBTYPE_CELLULAR_GPRS)))
??????? {
??????????????? TCHAR szAPN[200] = {0};
??????????????? if(S_OK == GetAPNFromEntryName(status.szDescription,szAPN,200))
??????????????? {
??????????????????????? for(size_t k = 0; k < wcslen(szAPN);k++)
??????????????????????????????? szAPN[k] = _tolower(szAPN[k]);
??????????????????????? if(wcscmp(szAPN,CMNET_NAME)==0)
??????????????????????? {
??????????????????????????????? m_conntype = CT_CMNET;
??????????????????????????????? return TRUE;
??????????????????????? }
??????????????? }
??????? }
??????? return FALSE;
}
// check the connection is cmwap connection
BOOL xxx::IsCMWAPConn(CONNMGR_CONNECTION_DETAILED_STATUS status)
{
??????? if((status.dwType == CM_CONNTYPE_CELLULAR)
??????????????? && ((status.dwSubtype == CM_CONNSUBTYPE_CELLULAR_EDGE)
??????????????? ||(status.dwSubtype == CM_CONNSUBTYPE_CELLULAR_UMTS)
??????????????? ||(status.dwSubtype == CM_CONNSUBTYPE_CELLULAR_GPRS)))
??????? {
??????????????? TCHAR szAPN[200] = {0};
??????????????? if(S_OK == GetAPNFromEntryName(status.szDescription,CMMAP_NAME) ==0)
??????????????????????? {
??????????????????????????????? m_conntype = CT_CMWAP;
??????????????????????????????? return TRUE;
??????????????????????? }
??????????????? }
??????? }
??????? return FALSE;
}
......................
??????? cmwap设置代理(webservice对象,就可以设置)。
下面就可以调用webservice的方法了。。。。。。。。。。
呵呵。c++就是比c#麻烦一点。但是他可以灵活的控制接入点):
转载请注明连接。谢谢