java校园网客户端 srun3000 的功能设计
程序的运行环境、安装步骤
(1) 运行环境:
无操作系统限制、需安装JRE 6 Update21以上
(2) 程序的组成部份:
auth.jar 文件、相关lib文件夹
(3) 安装步骤:
安装 JRE 6 Update 21 及以上
电脑连接到北京理工大学校园网内,并能够访问学校内网
复制auth.jar和lib文件夹到磁盘某处运行即可
2 程序开发平台
(1)手写代码行数:750
(2)开发环境:NetBeans 6.9.1 + JDK 6.0 update 21
3 程序功能说明:
原文请找腾讯752018766辣~文-论'文.网http://www.751com.cn
本程序依照北京理工大学官方校园网客户端 srun3000 的功能
进行设计,新增如网页客户端的强制登出功能。
具体功能如下:
* 登录
使用上网账号和密码向网络中心认证取得访问外网权限
* 登出
下线 关闭外网访问权限
* 国际模式 国内模式
选择上网的流量模式 以网络中心公布的信息为准
* 保存信息
保存用户名、密码和上网模式以便下一次登录。
* 强制登出:
输入用户名和对应密码之后点击登出。
强行注销在线上的指定用户。
* 查询
查询本次登录的入流量、出流量和登录时间。
* 关闭
关闭本程序时会自动下线。
* 最小化
最小化时自动隐藏到系统托盘,显示一个球形图标
* 帮助 关于
显示帮助和关于的对话框
4 简要开发过程
11月11日 确定课程设计题目
11月11日~ 11月13日 利用联盟网络版精华帖关于srun3000协议分析学习客户端协议
11月14日~ 11月16日 利用联盟上自制客户端python版srun的源代码分析客户端协议
11月16日~ 11月17日 利用python版srun了解客户端运行流程
11月17日~ 11月18日 网络查找java的POST方法实现并完成Post类
11月18日~ 11月19日 分析JavaScript网页版srun源码并完成MD5Passwd类
11月23日 界面设计
11月24日~ 11月26日 熟悉Netbeans下图形界面的开发并按照界面设计码放控件
11月27日~ 11月28日 完成基本客户端功能可登录、登出、强制登出、查询
11月29日 完成图标设定、保存信息、帮助弹出框、关于弹出框的编写
11月30日 完成最小化到任务栏、只运行一个程序实例的功能
5 技术关键点及其解决方案
(1)客户端协议分析
问题描述:对校园网客户端运行原理的不了解,不知从何入手。
最终的解决方案:查找联盟网络版关于srun3000协议的分析帖子,并找到其他人写的自制客户端程序,分析源代码并熟悉客户端流程。
(2)密码错误
问题描述:使用Post方法初写的POST方法与认证服务器进行通信,总是返回密码错误,但是一直找不到原因。
最终的解决方案:查看了网页版的客户端程序,分析其源代码发现密码存在MD5的加密,将密码明文进行MD5加密,取其子串(8,24)部分发送给服务器认证。但是强制登出的时候不需要对密码进行加密。
(3)图标路径
问题描述:设置图标的时候一直找不到路径,不能利用resources的文件夹
最终的解决方案:最开始的解决方案是放在项目的根目录,直接用ImageIcon类初始化打开。后来通过分析Netbeans提供的实例源代码,发现它是通过预先将图片文件名加入到资源文件ResourceMap中,拷贝图标文件到对应的resource文件夹下。最后通过对resourcemap提取图片或图标。1828