SIP话机TELNET服务器实现毕业论文.ppt

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
TELNET模块命令查找的缺陷 在TELNET中,由于存在有大量的有关于话机设置的命令,当用户对命令不熟悉的情况下,通过“help”命令来查找一条命令的全称相当麻烦。请参看图3-1。由图中可以看出单纯通过“help”命令很难进行有效的命令的查找。 图3-1 执行HELP命令后显示的所有命令然后成功执行一条命令 TELNET模块中的命令查找功能的需求 在TELNET模块中实现“敲入‘前缀字母’或‘help + 空格+前缀字母’后通过Tab键,逐条搜索‘前缀字母’或‘help + 空格+前缀字母’相匹配的命令。”这一功能可以极大的方便用户来查找自己希望使用的命令,对话机进行功能设置。 例如,有五条命令:“setamdix”、“setauto”、“setautoans”、“setbackupdisp”、“setbklight”。输入了前缀字母“s”、“se”或是“set”后,按下Tab键,程序可以按照字符串的ASCII码值从小到大的顺序,逐条打印这五条命令,每按一次Tab输出一条命令。而如果用户如果输入了“seta”,则按顺序输出“setamdix”、“setauto”和“setautoans”这3条命令,每按一次Tab键输出一条命令。如果用户输入的是“help seta”后按下Tab键,则要按顺序显示“help setamdix”、“help setauto”和“help setautoans”这3条命令,每按一次Tab输出一条命令。 命令查找功能的实现 功能上的需要,我们不能将Tab键的缩进功能全都变成查找功能。输入的字符串将放在字符数组par中。 图3-2中,列出了几种情况,在这几种情况下,按下Tab键将不进行命令的查找。 图3-2 查找功能实现的条件 通过以上的步骤,我们可以得出能够进行命令查找的字符串。这些字符串的特征就是:由一连串中间不存在分隔符的字符构成的字符串,形如:“setamdix”;或是由“help+空格+一连串中间不存在分隔符的字符构成的字符串”构成的字符串,形如:“help setadmix”。 在实现查找功能的过程中,我们需要将命令名按照其ASCII码值按从小到大的顺序进行排序。 将已有的命令排好序后,下一步就是对达到条件的字符串进行命令查找。 当用户输入一串字符之后,按下Tab键,程序流程将进入函数search_seqMain(),程序会将输入的字符串和排好序的字符串数组中的每个字符串进行比较,例如,如果输入的字符串是“set”,则程序将会找出所有以“set”开头的命令,根据上图,则是从命令“set180sdp”到命令“setvlan”之间的字符串(包括“set180sdp”和“setvlan”这两个字符串)。当前,程序将在用户TELNET程序端删去“set”字符串,并打印出“set180sdp”这个字符串。 下一步,程序将等待用户的下一次输入。如果用户再次按下Tab键,程序将删去“set180sdp”这个字符串,输出“setamdix”这个字符串;如果用户按下了退格键,则程序将删去字符串中的字符“p”并且将以“set180sd”为前缀重新查找一次以“set180sd”为开头的字符串,根据上图,则只有“set180sdp”这个字符串;如果用户输入的回车键或是空格键,函数将返回至函数negotiation(),并返回查找成功的消息;如果用户输入的是其他的字符,则程序将显示出该字符,例如,用户输入了字符“a”,则程序将显示出字符串“set180sdpa”,并且以此为前缀搜索字符串数组,根据上图可知,没有以“set180sdpa”为开头的字符串。 图3-3、图3-4和图3-5,分别显示输入字符串“se”,按下“Tab”键,再按下“回车”键时,TELNET程序界面上所显示的消息。 图3-6显示了该功能的实现流程。 图3-3 输入字符串“se” 图3-4 按下“Tab”键后TELNET界面上的显示 图3-5按下“回车”键后TELNET界面上的显示 图3-6 查找功能实现的流程 程序演示 TELNET模块中参数处理功能的缺陷 目前的TELNET模块中,程序对输入的参数进行处理时,每处理一条TELNET命令都需要调用到该命令具体的实现函数,各个命令的参数检验没有共通性。造成大量重复代码。降低了程序的处理效率。也使得命令的扩展受到了限制。 TELNET模块中参数共通处理的需求 由于有以上的弊端,因此,希望能够对参数实现共通检验,今后扩展一条命令,只需提供如下接口:命令名,参数名,参数个数,参数类型,参数范围。这样有利于扩展命令和提高程序的处理效率。

文档评论(0)

xingyuxiaxiang + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档