MFC智能设备应用程序怎么进行网络编程呀?有没相关的例子或者教程,我使打开模拟的Server,在MFC应用程序写Client可以连接到服务器,放到MFC智能设备应用程序里就不行了,是不是需要什么配置的?

解决方案 »

  1.   

    先要建立GRPS连接,用ConnMgr开头的系列API
      

  2.   

                            GUID m_gNetwork;
                            HANDLE m_hConnection;
                            ConnMgrMapURL(_T("http://www.msn.com"), &m_gNetwork, 0);                        DWORD dwStatus = 0;
    ConnMgrConnectionStatus(NULL, &dwStatus);
    if(dwStatus==CONNMGR_STATUS_CONNECTED)
    {
    return true;
    } CONNMGR_CONNECTIONINFO ConnInfo = {0};
    ConnInfo.cbSize = sizeof(ConnInfo);
    ConnInfo.dwParams = CONNMGR_PARAM_GUIDDESTNET;
    ConnInfo.dwFlags = CONNMGR_FLAG_PROXY_HTTP|CONNMGR_FLAG_PROXY_WAP|CONNMGR_FLAG_PROXY_SOCKS4|CONNMGR_FLAG_PROXY_SOCKS5;
    ConnInfo.dwPriority = CONNMGR_PRIORITY_USERINTERACTIVE;
    ConnInfo.guidDestNet = m_gNetwork;
    ConnInfo.hWnd = NULL;
    ConnInfo.bExclusive = FALSE; HRESULT hr = ConnMgrEstablishConnectionSync(&ConnInfo, &m_hConnection, 1000*60, &dwStatus);
    if( FAILED( hr ) )
    {
    return false;
    }
    else
    {
    //连接成功
    }
      

  3.   

    这个例子是TCP连接的吗,是的话发给我好吗?
      

  4.   


    这个例子是GPRS连接,通过CMWAP连接。
      

  5.   

    ....啊,那你知道怎么使用TCP连接吗?或者MFC智能设备应用程序要放到手机里使用连接服务器,要做什么配置吗
      

  6.   


    先建立GRPS连接后,就可以用socket了,socket就和PC上一样的用。否则如果不建立GRPS连接是无法使用socket的。
      

  7.   

    恩,对,连接后,使用socket就和PC机的一样了可以把GPRS连接的详细代码给我吗,我第一次写智能设备应用程序,很多都不熟
      

  8.   


    就是上面的代码啊,就可以建立连接了。断开GPRS连接用ConnMgrReleaseConnection,具体可以查MSDN
      

  9.   

    网络部分和XP系统是一样的。
    调用MSDN中Windows Sockets部分提供的函数就可以
    经常写CE的网络部分和XP上的区别不大
      

  10.   

    MSDN上有吗?难道本版不行,我查你代码的函数查不到,而且放代码进去的时候说3个函数不能解析,外部符号,应该是什么库没加进去
      

  11.   

    #include <connmgr.h>
    #include <connmgr_proxy.h>
    #include <Ras.h>
    #include <Cfgmgrapi.h>
    #pragma comment(lib, "cellcore.lib")
      

  12.   

    是不是你的代码返回连接成功后,就和MFC应用程序里一样写socket编程了。我看了下GPRS连接成功了,但是socket连接服务器好像失败,失败返回10061.。。
      

  13.   


    对,GRPS连接成功后就和MFC应用程序里一样写socket了,剩下的就是socket编程问题了。
      

  14.   


    你能写个最简单的MFC智能设备应用程序客户端连接服务器的例子给我看看吗?就实现连接就好了。服务器可以用模拟的,我的socket代码放到MFC项目里直接可以连上服务器,但是放到MFC智能设备应用程序里老不行。。
      

  15.   


    参考一下:
    http://blog.csdn.net/terryxiezan/archive/2010/02/01/5277605.aspx
    先用文章里面IsCMWAPConn检查一下CMWAP是否连接上,不行的话,把你的智能设备连上电脑,先用CMNET的方式测试,不过也要先用IsCMNETConn检查一下。
      

  16.   

    哥们,谢谢了。知道哪些不对了,在wince里写的服务器地址不能写127.0.0.1.。呵呵,搞定了
      

  17.   


    楼主都没有弄明白gprs和tcp这两个概念。
    gprs是如何连接到互联网中,让互联网中的两台机器可以通信。
    而tcp是如何让这两台机器通信。他们是2个概念。你之前肯定是client和server在一台机器上,所以server ip填的是127.0.0.1
    现在到了智能设备上,不管是仿真器还是外部设备,肯定不和你的server用一个ip了,但是他们一定在同一个局域网中。
    你确定你的server能ping通智能设备的ip后,把连接的ip填成server在局域网中的ip就行了。
      

  18.   

    这个跟在不在wince里没有关系。