请教编程高手:做一个拨号系统需要考虑到些什么问题?

来源:百度知道 编辑:UC知道 时间:2024/09/25 16:39:54
只是做一个能实现像网络电话一样的功能的拨号系统,要注意到一些什么常见的大问题?我想到的首先是与电信方面合作的问题,还有一些具体的问题,我想请教高手,谢谢!

用VC++制作拨号控件

作者:黄鹭滨

如果您有VB 的编程经验,一定对VB所支持丰富的控件留下深刻的印象。这些就是
ActiveX控件,一般是以 ocx后缀。由于ActiveX控件与开发平台无关,因此,用
VC++编程开发的ActiveX控件即可在VB或其他平台上使用。用VC++中开发的
ActiveX控件,代码简洁,运行速度快。VC++还可以直接控制底层的各种操作。用
VB快速开发出漂亮的界面以及应用程序框架,再嵌用VC编写底层的各种操作的控
件,已成为越来越多软件编程人员愿意采用的编程方法。

---- 拨号上网是编写网络应用软件常用的操作,程序在运行某些远程网上操作前
,需要先拨号与网络连接,完成操作后由必须收线断开。在Windows 95/98的"拨
号网络"中,虽然提供拨号功能,但无法直接让自己开发的应用程序来调。而在系
统注册的常用的控件当中又没有提供。

---- 本方法是利用VC++制作一个拨号控件,提供拨号与收线功能。VC++ 6.00提
供控件的创建引导(MFC ActiveX ControlWizard)可以快速生成ActiveX 控件的
程序框架。拨号功能是由VC++提供的 rasapi32.lib 的函数库支持的,函数及变
量在 ras.h 文件头定义。函数RasDial()实现拨号功能,RasHangUp()用来终止拨
号连接。函数调用方法:

DWORD dwRet = RasDial( NULL, NULL,
&rdParams, 0L, NULL, &hRasConn );
DWORD dwRet = RasHangUp( hRasConn );

其中:
rdParams 为 RASDIALPARAMS 结构,
主要参数定义如下:
DWORD dwSize 结构变量的大小;
TCHAR szEntryName[] 拨号网络中建立的连接名;
TCHAR szPhoneNumber[] 电