2024年4月25日发(作者:)

drcom-client使用指南

1.前言:

是城市热点公司开发的宽带计费系统,在全国高校,企业,政府机关广泛使

用,但是遗憾的是这么大的企业居然没有开发Linux下的客户端,虽然可以在

web浏览器下完成登陆验证注销等工作,但是很多学校和ISP取消了这样的功能,而取而

代之是windows下专用的客户端。

由于没有客户端,所以Linux上网成了问题,通常的解决方案是利用代理服务器接入,

利用wine模拟运行drcom的官方客户端,但是这样做并不是完美的解决方案,例如使用

代理服务器对于端口有限制,并且某些软件并不提供设置代理的功能,而利用wine模拟运

行在 2.95版本不能成功,至少我还没有看到有成功的案例,在本人学校没有,在

网上也没有看到有例子。为了解决此问题,有爱好者对的联网原理进行分析,开发

了 的客户端,我记得最早是在2004年就有相关的文章来分析了,具体情况可以

Google一下,在这里再次要感谢这些先驱们。本人的学校从去年开始才正式的运行

进行校园网络的控制和管理,我也是到了今年才开始关注这个,我想做一个Linux

的客户端,上网查到了drcom-client。drcom-client现在是sourceforge上的一个项目,

以GPL协议发布,它包括window平台下的版本drcom-client-win32和Linux下的版本

drcomsuite,它的主页地址是:/projects/drcom-client。本文

主要介绍Linux下的版本drcomsuite在Linux几个主流发行版的使用,它的主要作者是

wpyh,drcomsuite到现在已经比较成熟了,可以应用于2.4.x内核和2.6.x内核。但是

wpyh的第一语言不是汉语,所有的文档是以英文发布的;另外使用文档也不完善,这样对

于开发者或者熟悉linux的人也许不成问题,但是对于使用Linux的普通用户和Linux的新

手们就有些困难了。还有就是这个客户端是在北京海淀区的宽带接入应用环境开发的,它的

测试区在北京海淀宽带联盟论坛,这是一个内部网站,仅面向海淀宽带的用户,而且关闭了

注册,我现在得到的消息是借助google搜索提供的零星的片段(要登陆论坛才可以查看全

文内容),所以我现在连wpyh其人也不是很了解。

我准备在drcom-client的基础上开发更人性化功能的客户端,并且提供基

于GTK的图形界面版本,现在windows下的版本已经比较好用了,但是也缺乏一个用户

指南,用这个开源的版本带来的好处是:支持共享上网,不会默认打开某些网站(我就特反

感这个,本人机器比较慢,原来用windows的时候自动打开IE连到校主页,要等好几秒的

时间,不爽)而Linux下的版本能用了,但是还存在某些bug,比如有的时候不稳定,不

能登陆成功;有的时候退出的时候,进程会无法正常中止;这些都还不是大问题;现在最大

的问题是安装使用起来有点困难,特别是对于Linux新手,或者说只是普通用户而言。我在

上申请开通了一个项目,叫做q-drcom,项目主页就是

/projects/q-drcom/;名字中q的意义一方面是本人在学校所在的工

作组名字的首字母,所以开发的东西会叫做q-xxx;另外q是cute的意思,cute在英文中

意为灵巧的,漂亮的,惹人喜爱的意思,这是我做东西的一个原则:,它能怎么样跑得最快?

怎么让人喜欢它?解释了这么多,就是想让你记住它,如果你对使用drcom有什么问题你

就能到项目主页上寻求答案了:);说实在的,本人也不是什么开发高手,并且对于Linux下

的编程,特别是内核模块方面的也是在学习中,drcom-suite的源代码我正在消化,但是

我有信心不久之后就推出q-drcom的beta版本;所以目前q-drcom项目暂时只是提供

drcom-client的用户支持,除了文档而没有自己的东西出来,并且从用户的反馈和问题,

也能让我更好的发展q-drcom,---A cute version of 's client!所以也请大家有使

用上的问题及时反馈,更希望有更多的志愿者加入到其中来。看到城市热点的官方主页上说

在高校的应用有300多家,按我的理解就是:有多少在高校的成功案例,就有多少个高校

里的linuxer被奴役!

2.基础知识:(对于Linux新手,其他人可以跳过)

(1)Linux从源代码安装软件的一般过程是Configure,make,make install;

configure是一个shell脚本,负责根据机器或用户的的设置生成一个叫Makefile的文件。

而make命令就是让编译器(gcc等)根据Makefile文件自动的编译和连接以生成目标代

码(可执行文件,在windows下就是exe文件);make install就是根据Makefile的表

述把目标代码以及相关的文件拷贝的设定的目录。简单说,make就是Unix,Linux平台

下的工程管理器,它能自动编译和安装软件。对于某些软件的安装,也就是最后一步(这里

假设你在自己的家目录中完成了前面两步)需要root用户权限,因为make install可能要

把一些文件拷贝到之有root用户有权限写入的目录,对于本文中要安装的drcom-suite就

是如此,它要将一些文件拷贝到/sbin ,/etc等目录中,另外,在本例中drcomsuite的安

装不要用Configure,它也没有提供这个脚本,它已经提供了Makefile,直接运行

make,make install就可以了。

(2)软件是有相关性的,一些程序为另外的程序提供服务,所以软件的安装是有顺

序的,并且有的时候不能颠倒(有新手要不耐烦了,发难了,windows下怎么没有那么麻

烦阿?windows下有dll文件,叫做动态连结库,你双击安装的exe程序已经把它要用的

那些库打包到exe文件里面,安装时就提取出来放到它的安装目录了,写过vb的知道,你

写个程序但是不把一些dll文件打包安装,它在没有装VB的机器上就不能运行,基本道理

一样,另外一般windows下的软件都是以二进制可执行文件的形式发布,而不是源代码,

“Linux is not windows ”,所以请不要总是把时间花在它们的比较之上。我之前不用

windows是我买不起正版windows,我对自己的要求是:如果我还写代码,那么我就尽可

能不用盗版软件,我必须尊重其他的软件作者。当然,为什么尽可能呢,如果老师让我交

AutoCAD的课程设计,那我该怎么办呢?:)但是,请你相信,当你开始了解了linux,并且

尝试用它来解决你的学习工作的问题,而不是把它当玩物,那么你会象我一样对它如痴如醉

的,这让我想起了一句名言:学一点点知识是一件可怕的事情 :)。当然,整天打游戏的人除

外,呵呵,整天打游戏的人也不会看这篇文章了),具体来说,在本例中一定要先安装

libdrcom,只有先安装了libdrcom,drcomsuite才可能编译成功,因为drcomsuite的

编译需要libdrcom,不完善的说法是编译drcomsuite时需要libdrcom的一个drcom.h

的头文件,安装了libdrcom之后,drcom.h文件会被拷贝到/usr/include文件夹中,这

样编译drcomsuite时编译器才能找到drcom.h;这是drcomsuite在一般发行版本上的需

要注意的地方,另外对于特定的发行版本还有其他的东西,比如在ubuntu 5.10的安装,