背景
即时通讯(Instant Messaging)是目前Internet上最为流行的通讯方式,各种各样的即时通讯软件也层出不穷;服务提供商也提供了越来越丰富的通讯服务功能。 不容置疑,Internet已经成为真正的信息高速公路。从实际工程应用角度出发,以计算机网络原理为指导,结合当前网络中的一些常用技术,编程实现基于C/S架构的网络聊天工具是切实可行的。月工资发放总额、月考勤罚款统计、参保金额统计、公积金金额统计。
实时通信(Instant Messaging,简称IM)是一个实时通信系统,允许两人或多人使用网络实时的传递文字消息、文件、语音与视频交流。
包含
网际网路上颇受用户欢迎的即时通讯服务包含:信鸽、Anychat、人人桌面、MSN Messenger、Gleasy一说 、 AOL Instant Messenger、Yahoo! Messenger、NET Messenger Service、Jabber、YY语音、ICQ、QQ、Gmail Talk、飞信、FastMsg、企业飞信这些服务有赖于许多想法更久的(与普遍)的线上聊天媒介,如Internet Relay Chat一样知名。
安全问题
即时通讯的安全威胁包括:ID被盗、隐私威胁、病毒威胁等,下面是即时通讯用户应该遵循的一些安全准则,以保护自身的网络安全和隐私。
即时通讯安全准则主要包括:不随意泄露即时通讯的用户名和密码;不在第三方网站登录网页版即时通讯软件;定期更改密码;谨慎使用未经认证的即时通讯插件;在即时通讯设置中开启文件自动传输病毒扫描选项;不接收来历不明或可疑的文件和网址链接。
通信系统
而对于企业级用户来说,一个重要问题就是大多数即时通信系统是公开的,这意味着用户只要知道另一个用户的即时通信地址,他就可以直接向对方发送信息,这对于员工向外界泄露企业的商业秘密非常便利。而且即时通信的主要特点是两台终端之间可以直接进行交流,而不必通过任何第三方服务器中转。这就使得网络监管对即时通信用户的数据交换进行监控的难度增加,这让企业管理者大为头疼。IDC公司的数据显示,全球超过2000万的商务人士都在使用即时通信工具,而且这一数字将在之前猛升至3亿人。即时通信的广泛使用以及它本身缺乏安全功能的特性,为向它添加加密、归档和日志功能的产品创造出了很大需求。
系统的逻辑视图
C-XX:用户端使用自己定义的协议与NAS、ACS进行通信,提供IM的基本功能。
NAS:为用户C-XX分配ACS服务器,在用户登录时进行。NAS简单的采用轮转的方式,依次分配系统中存在的ACS给登陆的用户。
ACS:为用户提供IM服务端功能,主要有用户信息的修改,用户状态的维护,用户消息的处理等。ACS之间的逻辑结构是网状的,任何两个ACS都可以平等的进行通信。
DB:保存用户的状态,不同的DB分成不同的区,维护不同段的用户。每个ACS到各个分区的数据库都有连接,ACS根据用户所在的区,访问相应的数据库,存取用户的数据。
技术原理与工作方式
用户A输入自己的用户名和密码登陆IM服务器,服务器通过读取用户数据库来验证用户身份,如果验证通过,登记用户A的IP地址IM客户端软件的版本号及使用的TCP/UDP端口号,然后返回用户A登陆成功的标志,此时用户A在IM系统中的状态为在线(Online)
根据用户A存储在IM服务器上的好友列表,服务器将用户A在线的相关信息发送给也同时在线的IM好友的PC机,这些信息包括在线状态、IP地址、IM客户端使用的TCP端口(Port)号等,IM好友的客户端收到此信息后将在予以提示。
是IM服务器把用户A存储在服务器上的好友列表及相关信息回送到他的客户端机,这些信息包括在线状态、IP地址、IM客户端使用的TCP端口(port)号等信息,用户A的IM客户端收到后将显示这些好友列表及其在线状态。
实现原理
基于TCP/IP和UDP进行通讯的,TCP/IP和UDP都是建立在更低层的IP协议上的两种通讯传输协议。前 者是以数据流的形式,将传输数据经分割、打包后,通过两台机器之间建立起的虚电路,进行连续的、双向的、严格保证数据正确性的文件传输协议。而后者是以数 据报的形式,对拆分后的数据的先后到达顺序不做要求的文件传输协议。