关灯
护眼
字体:

第一百八十四章 即时通信软件

首页书架加入书签返回目录

请安装我们的客户端

更新超快的免费小说APP

下载APP
终身免费阅读

添加到主屏幕

请点击,然后点击“添加到主屏幕”

r />
    点对点的通讯比较简单,就和打电话一样,必须两人同时在线才能进行联系,如果有一方网络并不是很好,或者对方并不在线的话,通讯显然就不能进行。还有一点,点对点通信只能同时和一个人进行通联。

    而服务器和客户端的架构,这类似BBS,有一台专门的服务器作为“中央枢纽”,大家都和这个“中央枢纽”联系,例如告诉他,我要发信息给某某,麻烦帮我转发一下。这样,就算对方当时不在线,等对方在线的时候,服务器再发给他也行,这就是延迟发送。

    并且,第二种架构还有一个优点,那就是可以进行群聊,一个人对多人发送信息,让建立聊天室有了可能。

    亚瑟和马修之前进行联系的那个名为Xaric的通信软件,就是建立在这个架构之上。

    林鸿专门针对这个软件进行了研究,发现这个软件所使用的协议是IRC协议。

    这个协议是1988年由芬兰人雅尔口*欧伊卡林恁开发出来的,是一个互联网实时文本消息协议,是专门为了BBS或团体成员之间进行内部沟通交流而设计的,允许点对点,也允许一对多,甚至还包括了文件共享方面的内容。

    林鸿了解了一下,发现这个协议是公开的,也就是说向所有人都免费开放,就像是其他常见的TCP/IP,UDP,FTP协议那样,可以随意使用,无论是用于商业用途和个人用途。

    林鸿对其心生佩服,在科学技术的发展史上,不知道有多少这样的人做着贡献,从最开始的电子技术、无线电技术、到现代的电话技术、计算机技术,正是有着这些技术前辈们的无私奉献,做着基础方面的建设,才能够逐渐发展到今天。

    林鸿心中琢磨着,这个软件自己编写出来之后,也免费给大家使用,贡献一份自己的力量。

    林鸿之前去学校图书馆找了一下,并没有看到有关IRC协议方面的资料,后来他又问了一下亚瑟和马修,他们两个也不知道到哪里能找到这方面资料。

    后来他不得不去一些技术论坛进行询问,最终终于有一个人告诉他一个BBS讨论组的地址,林鸿登录到那个讨论组,最终找到了原作者的EMAIL地址,于是他向原作者雅尔口尝试着发了一封邮件,林鸿在邮件中明确地告诉他,自己想要编写一个基于IRC协议上的软件,想要IRC协议的细节。

    原本还要等上一段时间,却没想到不到半个小时就收到了作者的回信。

    雅尔口对于有人加入到IRC协议软件开发的行为感到非常高兴,对于每一个人,他都会尽自己最大的努力去帮助别人,提供便利。

    在邮件中,他给林鸿发来了详细的协议技术细节,而且还包括最新的升级版本,包括频道加密和更便利的文件共享功能。

    原本,林鸿只想编写一个用于团队内部进行交流的沟通软件,这样,只需要有一个服务器端就行了,其他的都作为客户端和服务器端连接。

    但是阅读了雅尔口的最新IRC协议之后,他决定扩充一下之前所构想的软件功能,不局限于一个服务器端,而是多个,即在软件中同时集成服务器端和客户端。也就是说,每一个用户都可以将自己作为中继服务器,给大家提供服务。并且,服务器端之间也可以进行通联。

    实际上,这种架构和业余无线电非常相似。在无线电通信中,有一种特殊电台称为“无线中继台”,能实现信号的中继和放大, 从而延伸无线电网络的覆盖范围。

    在无线电发明的早期,人们还没有发现短波信号的远距离传播特性,而中、长波无线电地波通信因为大地吸收损耗,距离有限。早期的业余无线电爱好者就通过人工中转的办法来扩大通信范围。原理和接力一样,通过火腿志愿者地热心帮助,火腿们可以仅仅通过长波就可以将无线电信号送至大洋彼岸,甚至地球的另外一端林鸿决定修改架构,让每一个客户端都同时具备“中继台”功能,从而可以极大地增强整个即时通信系统的稳定性。因为如果仅仅只有一个服务器端的话,一旦这台服务器由于某种原因出现问题,那么其他人之间的通信就会根本无法进行。

    而重新设计之后的架构则不会如此,如果其中一个节点损坏,消息还是可以通过另外一个节点传输到目的地。这其中信息传输的路径从理论上来讲有无数条,只要通过最短路径算法找出最短的那条即可。

    至于编写这个软件的语言,林鸿最终选择了C语言,他在刚开始的时候就考虑到了跨平台的需要,目前他所接触到的高级语言中,只有C语言能够满足这个要求。
上一页目录下一章

请安装我们的客户端

更新超快的免费小说APP

下载APP
终身免费阅读

添加到主屏幕

请点击,然后点击“添加到主屏幕”