成功晋级啦

来源:互联网 发布:javascript problem 编辑:程序博客网 时间:2024/06/09 19:07

又是好久没来咱们学生大本营了,呵呵,回来的感觉挺好。

      前些天和大家一起分享了中兴捧月的第一轮的考题,偶也顺利晋级。本来想把源代码发一下的,但是感觉不会有人看吧,呵呵,所以就不发了,只把jar包和数据库以及使用说明法一下吧。如果有想要源代码的话可以给我留言,晕,竟然没找到上传附件的地方。。。。。。。。。。。

      新一轮的题已经做完了,所以把题目贴出来,和大家分享一下。

 

 

一种电信设备命令报文监视器界面的设计与实现

2010-06-11

        在通信领域,用户在网管界面操作,通过TCP/IP协议给电信设备发送报文,从而配置、维护电信设备。电信设备一般都不具备可视化终端,当电信设备从网管接收到了命令报文后,用户不方便了解电信设备接收到了哪些命令报文、以及处理报文过程是否正常。为了监视电信设备的运行情况,可以在电信设备上运行一个socket服务器,在PC机上运行一个socket客户端,称为命令报文监视器,所有通过网管发给电信设备的命令报文都会通过socket服务器发送给报文监视器,请实现一个这样的命令报文监视器。

初赛要求:
1、监视器程序是一个可视化的GUI程序,刚运行时提供输入框让用户输入需要监视的电信设备的IP地址和端口号,然后与电信设备服务器建立socket连接。比如用户输入的IP地址为:192.192.192.1,端口号为8000,用户点击“连接”按钮即可与电信设备服务器建立连接。

2、监视器程序仅仅从socket连接中读取电信设备服务器发来的数据,这些数据是一串连续的ASCII码流。监视程序每次从socket中接收到数据后在数据前面加上时间信息,然后在GUI界面中显示。比如从服务器接收到的报文为“Ncp Send Message To Mcu:  nMcuAdrs=0x10301 CmdCode = 0x11ab,lParamLen = 0x12.”,那么在GUI界面中的显示则如下:
[10/05/19 03:30:17] Ncp Send Message To Mcu:  nMcuAdrs=0x10301 CmdCode = 0x11ab,lParamLen = 0x12.
其中[]里面的是显示接收到的PC机本地时间,其余ASCII字符为报文的内容。
监视器程序只管从socket中接收报文,无须通过socket发送报文。

3、当报文内容很多时为了方便用户选择查看有意义的报文,可以对报文进行过滤。支持用户输入需要过滤的字符的关键字。比如输入要过滤的关键字为“nMcuAdrs=0x10301”,那么对于nMcuAdrs=0x10301的报文则不显示,仅显示满足关键字过滤规则的报文。当需要有多个要过滤的关键字时,需要支持一下的规则: 
(1)与  key1 and key2, 表示既要满足关键字key1也要满足关键字key2
(2)或 key1 or key2, 表示只要满足key1或者kye2任一即可
(3)支持与和或的组合,与的优先级高于或。比如 key1 and key2 or key3,表示只要满足key1、key2,或者key3即可
(4)括号的优先级高于and。比如 key1 and (key2 or key3),表示满足key1并且满足key2、key3中任一即可。
每一个关键字都用双引号括起来,比如输入过滤的字符为“nMcuAdrs=0x10301” and “CmdCode = 0x11ab” ,表示既要满足nMcuAdrs=0x10301也要满足CmdCode = 0x11ab
4、支持监视器收到的所有报文保存到文件中,需要支持用户设置文件所能保存的最大报文数目。比如用户设置最大可以保存100条报文,当超过100报文时新接收到的报文可以覆盖时间最长的报文,例如附件中的文件。

实现技术提示信息:
 编程语言可以任选
 

审核或评分标准:
1、设计合理、简洁,简单、易用
2、设计文档、说明文档清晰
3、软件功能正常、运行高效,无严重BUG

这个项目的核心在于文本解析那块。

其实真正的开发时间就2天,一共两个人做的,文本解析的这个核心不是我做的。

开始我也想做,但是那天上午上课去了,等中午回来的时候,我的哥们已经做完了

哈哈,效率很高啊,偶也很佩服。

接下来花了一天多的时间,把整个项目都做完了,期间,文本解析功能也进行了不断的改进。

完成项目之后,我手痒,自己也做了一个实现,使用的是栈的思想(主要优点和编译原理类似),不知道效率如何,等有时间我和我哥们做个比拼,哈哈。

具体代码等比赛完后发吧。

原创粉丝点击