在过去的20年中,除非你与世隔绝,否则很可能会听说过因特网(Internet)这个词。对大多数人来说,提到这个词就会联想到电子邮件(E-mail)、万维网(World Wide Web,WWW)以及一些顽皮淘气的图片。而对于我们这些游戏编程人员来说,因特网则是更加广泛的一个领域,可以在因特网上创建游戏与城市另一端的人来交流,也可以与千里之外的人来交流。
对游戏编程人员来说因特网的出现是一个重大事件。因特网允许多个人与游戏交互作用,允许游戏玩家与任何人比赛智力和反应,而在以前,一般情况下都是与无声音的重复的人工智能来玩游戏。但是,若要了解如何高效地编写MUD程序,则必须先对网络编程有一个扎实的理解。本章为读者提供了这些基础知识。如果大家已经深入地了解了网络编程,则可以跳过这一章。
学习完本章之后,大家将能够:
● 了解与游戏编程相关的通信网络的发展历史。
● 理解IP的基本原理和分层结构。
● 掌握常见传输协议的基本知识。
● 了解网络协议的其他信息。
1.1 为什么要了解基本知识
对于打算要操作的每样东西,我认为了解其机械结构总是一个不错的想法。计算机教授和权威人士们神彩飞扬地对从机械结构中抽象出其传动装置接口的美妙之处(本质上是工作原理)讲解数小时,以证明我们并不需要明白某物的工作原理就可以使用它这样一种观点,对此不敢苟同。
注意:吞吐量(Throughput)是一个通信术语,它描述了每单位时间有多少数据流过了网络。例如,56kbit的调制解调器的吞吐量大约是56kbps(每秒千比特),作者的有线电视调制解调器的上流吞吐量大约是128kbps。
实际开车的人确实很少有人了解加速和能源使用等物理性质,更不必说内燃机的工作原理了。乍看起来,这好像是一件好事,因为任何人都不必了解引擎的工作原理就可以开车。只要踩油门,汽车就向前走;只要踩刹车,汽车就停下来。
但是事情并不总是这么简单。我遇到过下面这样的情形已不计其数,在红灯边停下车来,看到我旁边的车就在离红灯几百英尺时还在拼命地加速,而后又停车。只要是发生了这样的事情,我就知道司机根本不了解能源和加速的工作原理。
如果一个司机将速度提到50MPH而后又立即拉闸停车,而另一个司机则将车速提到30MPH,然后滑行,最后再拉闸停车,前者都比后者所消耗的能源要大得多。第一辆车开快了20MPH,这是在浪费能源,多出的能源只能在制动过程中作为热能消耗掉。
由此我们可以看出,了解工作原理对操纵传动装置来说可能没有必要,但是若要高效地操纵则还是很有必要的。正如我们所知道的,游戏编程所讲的无非就是尽量高效地使用资源。






