即时通信是目前互联网最为流行的通信方式

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

即时通信是目前互联网最为流行的通信方式,各种各样的即时通信软件页层出不穷。

随着互联网的发展以及3G网络的到来,即时通信的应用将更加广泛,因此,研究并学习即时通信系统的开发技术对未来发展很有意义。1..系统规划:需要了解系统设计的基本目录、组织结构及功能结构等,对任何系统开发而言这是最基本的要求,只有规划好了。后面开发中不过才会做到有放矢。

(1).系统功能结构:1.登录认证与注册创建的功能。2.peer间的即时通讯功能。3.文件交互功能。4.文件共享功能。5.其他功能

1.登录认证与注册创建的功能。

在程序启动后又一个登录与注册的界面,在这个界面中用户可以有两种选择。

%第一个选择:可以根据当前的频道列表显示的的信息,选择当前网络中已有的一个P2P频道,输入此频道的认证密码后。加入该频道、

%第二个选择:用户可以创建一个新的P2P频道,输入用户明显横、频道的名称和认证密码后,一个新的频道就窗前好了。

注意:这里所说的频道是一个模拟的P2P网络,用在即时通信系统中类似聊天室的功能。以上两种选择等价于。第一种选择,当你要加入一个聊天室时,只需选择一个已有聊天室的名字,然后输入你的用户名和聊天室的认证密码,就可以加入此聊天室了。而第二种选择,可以创建一个新聊天室,自定义聊天室的名字和密码,这样,

别人就可以加入这个聊天室

2.peer间的即时通讯功能

Peer的即时通信,确切的说应该是同一个P2P频道内的所有peer间的通信,这个通信过程包括两个方面:

%一方面:所有peer间的广播通信,类似于多人聊天室,某一peer发布的信息,在同一个P2P频道内的所有peer到能接收到此信息。

%另一方面:两个peer间的私有通信,通信过程是在两个peer之间进行的,其他peer不参与这一过程,通信的消息内容对其他peer不可见。

3.文件交互功能。

文件交互功能包括文件的发送和接收,peer一端可以向同一频道内的所有peer发送文件,也可以接收来自同一频道内的其他任何peer 发送的文件。也就是说peer可以在频道内广播发送的文件,这样,peer之间可以进行任意的文件和数据的交互。

4.文件共享功能

文件共享功能,指的是peer一端,可以将本地文件目录共享出去,这样,在这个P2P频道内的其他所有peer都可以访问这个共享目录,也可以从peer列表中查看其他peer共享出来的目录。再查看目录同时,也能查看共享的文件列表、文件内容等。

5.其他功能

系统还可以提供一些其他必需的功能,如清屏操作的功能,就是将消息内容界面清空。系统服务信息功能,如系统提供的一些错误的提示

信息、系统运行的状态信息、peer结点的通知信息等,这些都需要具体实现的功能。

12.2系统需求分析

2.1一般需求

想要实现一个基本P2P技术的即时通信系统,就需要将系统的设计目标、功能需求与整个结构层次有机的结合起来,在不同的层次上实现不同的功能,这样整个系统的需求也就确定了。

1.界面显示模块

界面指的是即时通信系统在PC上运行时所展示的图形用户接口,程序需要一个界面来提供各种操作的入口,利用界面来直观的显示系统的运作过程,而且界面显示的结果需要直观、简单、大方、布局合理。

根据本系统要是实现的功能。除了主界面外,每个不同的功能对养着不同的操作界面,这些界面都有界面显示模块来统一完成,主要包块以下几项:

>开始界面:程序启动后的第一个界面,供用户加入或创建一个P2P 的通信频道。

>主界面;整个即时通信系统的主界面,包括聊天信息的展示、功能菜单、peer列表等

>文件接收界面:当有peer向你发送文件时,单击文件接收按钮就是弹出文件接收的界面,可以显示文件内容,也可以将文件存储到本地。

> 私人聊天界面:当两个peer间进行私人聊天时。会弹出一个私人

的聊天界面,这两个peer间就可以进行私人聊天,聊天信息对其他peer而言是不可见的。

>文件共享界面:主要用于peer共享文件的操作,可以显示并查看共享目录和文件的详细信息,并提供对文件共享的操作。

>文件选择对话框:准确的说它并不是系统所有的显示界面,因为本系统中要用到文件发送和接收、文件共享、文件存储等操作,所以,文件选择对话框的功能主要是方便用户浏览选择文件路径和目录。2. 功能模块

就整个系统而言,功能有很多,如数据交互、文件共享、私人聊天等,在这些功能中,共享文件和私人聊天在系统运行中,需要弹出单独的操作界面来执行这两个功能,这样,就需要有独立的功能子模块去进行实现。所以,在模块功能里,主要就实现两个功能,分别是文件共享的功能和私人聊天功能。

@文件共享功能:此功能包括两个方面,一方面是主动共享本地的目录,设置共享。另一方面是查看其他peer的共享目录,也就是查看共享。

@私人聊天功能:私人聊天就是实现纯粹的P2P 通信,整个通信过程在两个peer之间完成,无需服务器的中转。在peer列表中,选择你要通信的peer结点名称并点击,在弹出的快捷菜单中选择“进行私人通信”选项,就会弹出一个聊天对话框。用户可以在此窗口中进行一对一的即时会话了。

3.消息模块

消息模块在教材中是一个抽象的概念,系统中所需要有网络发送的东西,都有消息模块来完成。根据系统的设计目标,在消息模块中要实现的基本需求如下:

@频道消息:在本系统中是通过一些P2P的频道来模拟P2P网络的,每个P2P频道就是一个微型的P2P网络。Peer结点与频道之间的交互都由频道消息完成,因而。频道消息简单地来说就是peer结点发送到P2P频道中的文本信息,包括频道名称信息、用户输入、输出信息等。

@私聊天信息:私有聊天信息主要是两个peer结点之间的信息交互,是两个peer结点之间相互发送的文本信息。

@分享列表信息:此消息主要用于文件共享的功能上,确切的说它并不是一个真正的消息,而是一个特定的结构,用来告诉P2P频道中的每个peer结点当前共享文件消息。

@文件消息:此消息主要用于文件的交互传输,描述了一个文件信息被一个peer结点发送到网络中的信息,当然,这个消息中包括了文件的内容。

12.2.2 系统通信用例分析

12.3系统的关键技术及实现机制分析

12.3.1系统开发语言及实现环境

在具体讲解这些关键技术之前,首先要确定本系统的开发语言、开发环境等。本书所说的案例都是基Java语言开发实现的,所以,本系

相关文档
最新文档