自己动手制作MUD客户端服务程序

来源:计算机等级考试    发布时间:2012-08-29    计算机等级考试视频    评论

  随着Internet的发展,越来越多的人加入到这个充满无限生机的网络世界中来,作为一个网络信息时代的专业电脑玩家,掌握网络编程就显得格外重要。本文通过一个MUD客户端服务程序向您介绍了Internet网络编程及MUD的一些知识。
  MUD,全称Multiple User Dungeon,意为多用户"地牢"游戏,现在网虫们一般都把它叫做泥巴。如果你已经上了网的话,当你得知了一个MUD的地址和端口后你便可以加入此MUD了,在Windows95操作系统下,你可以用 "telnet地址 端口" 这条命令来登录到MUD,但是Windows95的telnet程序由于不是专门用来玩MUD的,因此使用起来非常不方便,这主要是由于telnet不能处理文字的回绕,并且因为输入输出在同一窗口,造成输入输出信息混杂在一起,使用户辨认困难。历史输入的不能重用,大大增加了用户的输入量。而且在MUD中服务器传给你的信息中有很多控制信息用来使输出文字改变颜色或突出显示,这些信息被telnet简单的忽略掉了,鉴于这些不便,有一些程序员开发了MUD客户端服务程序,这些程序一般都具有这些功能:
  * 连接到MUD --- 这是基本功能
  * 命令行历史 --- 可重用以前的命令
  * 宏命令 --- 以宏代替较长的命令
  * 输入输出窗口分开--- 避免输入输出信息混乱
  * 输出信息回卷 --- 允许查看以前的输出信息
  * 强调显示 --- 能处理MUD系统传来的控制序列
  有一些还有更高级的功能:
  * 自动登录 --- 根据用户历史记录,自动登录到MUD
  * 多重连接 --- 允许同时连接到多个MUD上,或同时在一个MUD上登录多人
  * 触发装置 --- 在某种情况下,自动发出某命令
  * 自动导航系统 --- 通过记录east,west,south,north,up,down等命令,生成逻辑地图,并可自动导航用户去某地
  * 提供编程接口 --- 用户可编程,制作机器人,代替用户辛辛苦苦的在MUD上练功
  Dos/Windows下的MUD客户端服务程序主要有MUDCaller,BSXMUD等,其中以Zugg Software公司的ZMud较普及,也好用,下面我们用VB来做一个我们自己的MUD Client。
  首先介绍一下Winsock控件。在VB中,利用 WinSock 控件可以与远程计算机建立连接,并通过用户TCP或UDP协议进行数据交换。这两种协议都可以用来创建客户与服务器应用程序。在创建MUD客户端时,我们使用TCP协议。在给该控件的RemoteHost及RemotePort赋值后,调用其connect方法就可以连接到MUD主机上。然后用GetData和SendData就可以与MUD主机对话了。而从MUD主机传来的数据是夹有escape控制字符串的ASCII文本,说到escape控制字符串,需要解释一下, 所谓escape控制字符串是ANSI中用于键盘控制和显示控制的以escape(ASCII 27/0x1B)和'['开头的一串字符,在MUD中一般只涉及到设置输出属性,在escape和'['后跟a1;a2;...'m',该串以字符m结束,a1,a2等是数字,意义如下:
  0:恢复黑白显示;
  1:高亮度显示
  2:正常显示
  30...37:黑,红,绿,黄,蓝,洋红,青,白
  如:chr(27)[1;31m表示从这里起用亮红显示,而chr(27)[2;37;0m表示恢复黑白显示方式并用普通白色显示。
  现在我们打开VB,新建一个标准工程,选工程|部件菜单,加入Microsoft Winsock Control 5.0及Microsoft Rich TextBox Control 5.0这两个控件到工具栏中。
  将Form1改名为fMud,从工具栏拖一个CommandButton到fMud上,改名叫cmdSend,设置其default属性为True。拖一个Rich TextBox到fMud上,改名叫MudOut,设置其Text属性为空,ScrollBars为rtfBoth。再拖一个ComboBox到fMud上,改名叫MudIn,设置Text属性为空。最后拖一个Winsock控件到fMud上,改名叫MudSock。.下一步是用菜单编辑器给fMud做一个菜单,其中有一个子菜单起名叫Connect,主窗口就做好了。

上一页123下一页

视频学习

我考网版权与免责声明

① 凡本网注明稿件来源为"原创"的所有文字、图片和音视频稿件,版权均属本网所有。任何媒体、网站或个人转载、链接转贴或以其他方式复制发表时必须注明"稿件来源:我考网",违者本网将依法追究责任;

② 本网部分稿件来源于网络,任何单位或个人认为我考网发布的内容可能涉嫌侵犯其合法权益,应该及时向我考网书面反馈,并提供身份证明、权属证明及详细侵权情况证明,我考网在收到上述法律文件后,将会尽快移除被控侵权内容。

最近更新

社区交流

考试问答