我想让我的程序能自动通过modem拨号上网,请大哥给我将一下原理或者给我一个例子.
如果问题解决,另外在加100分报答.

解决方案 »

  1.   

    //一个简单的例子:
    #include <ras.h>
    BOOL bIsAutoDial = FALSE;
    DWORD dwFlags;
    HRASCONN lphrasconn = NULL;
    if( InternetGetConnectedState( &dwFlags, 0 ) == FALSE )
    {
    // Message( "没有与因特网连接..." );
    // Message( "自动拨号..." );

    CString strCfg;
    RASDIALPARAMS rp;
    rp.dwSize = sizeof( RASDIALPARAMS );
    strcpy( rp.szEntryName , "" );
    strcpy( rp.szPhoneNumber , "163" );
    strcpy( rp.szCallbackNumber , "" );
    strcpy( rp.szUserName , "163" );
    strcpy( rp.szPassword , "163" );
    strcpy( rp.szDomain , "" ); int iRetryTimes = 5; //重试5次
    while( iRetryTimes )
    {
    if( RasDial( NULL, NULL, &rp, 0, NULL, &lphrasconn ) == 0 )
    {
    // Message( "拨号成功..." );
    bIsAutoDial = TRUE;
    break;
    }
    RasHangUp( lphrasconn );
    lphrasconn = NULL;
    if( --iRetryTimes )
    {
    // Message( "无法拨号,4秒后重试..." );
    Sleep( 4000 );
    // Message( "再次拨号..." );
    }
    else
    {
    // Message( "无法拨号,稍后再试..." );
    break;
    }
             }
    if( iRetryTimes == 0 ) continue;
    }
      

  2.   

    //关闭拨号连接的代码如下:
    if( bIsAutoDial && lphrasconn != NULL )
    {
    // Message( "断开连接..." );
    RasHangUp( lphrasconn );
    }
    //另外,在使用该代码时,你还要手工在‘拨号网络’中建立一个新的连接才行。
      

  3.   

    感谢sans(sans) 大侠.
    如果我想拨号成功后给一个有固定IP的服务器传送文件,请问服务端怎样实现.传送文件怎样实现?(Socket,UDP.ftp??);
    怎样实现服务器端的远程拨入.
    为了表示我的诚意,加分到300分..求大侠帮忙.
      

  4.   

    简单的方法就是在服务端安装一个ftp服务器,客户端通过ftp方式上传下载数据(文件),我就是这么做的(上面的代码也是我程序中的)。
      

  5.   

    一个朋友告诉我"你配置了服务器端的远程拨入,直接拨号到服务器就可以了。不过要收市话费,走公网的话,不收市话费,但是服务器要有固定ip。"
    如果我的服务器端没有固定的IP,我想直接远程拨入到服务器怎么实现?
    另外这两种方法有什么不同啊?
      

  6.   

    如果没有固定的ip,就只有使用点对点拨号了,使用TAPI,原来用过,由于是长途,费用比较贵,而且不是很稳定(长途干扰严重),所以现在该用ftp,但这样要有一个固定的ip,不过现在这也不是问题,申请一个宽带接入就可以了,费用也不贵...
      

  7.   

    to sans:
       再次感谢大哥.
       先给大哥100分,这个帖子先不结贴,希望有其他大哥给点建议或者关于"服务器端的远程拨入"指教.
       到这个帖子来领分.
    http://expert.csdn.net/Expert/topic/1316/1316799.xml?temp=.2283594
    ///////////////////
    我先去书店看一下.      :)
      

  8.   

    http://www.codeguru.com/network/RasClient.shtml
    in which you can find the CRasClient class which satify your purpose