即时通信工具简介

即时通信是一种结合了IP/TCP/UDP等技术的通信方式,常见于腾讯QQ、飞信等工具。它通常采用C/S结构进行登录验证,通过P2P模式或服务器中转实现消息传递。微信、QQ等应用结合了多种通信模式,提供语音、视频、文件传输等服务,同时支持多平台和节省流量的设计。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

即时通信工具

 

  1. 什么是即时通信

即时通信是基于网络的一种新兴应用,它最基本的特征就是信息的即时传递和用户的交互性,并可将音、视频通信、文件传输及网络聊天等业务集成为一体,为人们开辟了一种新型的沟通途径。简单地讲,即时通信是一种使人们能在网络上方便快捷识别在线用户并与他们实时交换信息的技术,并逐渐成为继电子邮件之后最受欢迎的在线通讯和交流方式。与传统通信方式相比,即时通信具备快捷、廉价、隐秘性高的特点,在网络中可以跨年龄、身份、行业、地域的限制,达到人与人、人与信息之间的零距离交流。

  1. 即时通信的原理

即时通信是一种基于网络 的通信技术, 涉及到IP/TCP/UDP/Sockets、P2P、C/S、多媒体音视频编解码/传送、Web Service等多种技术手段。无论即时通信系统的功能如何复杂,它们大都基于相同的技术原理,主要包括客户/服务器(C/S)通信模式和对等通信(P2P)模式。

C/S结构以数据库服务为核心将连接在网络中的多个计算机形成一个有机的整体,客户机(Client)和服务器(Server)分别完成不同的功能。但在客户/服务器结构中,多个客户机并行操作,存在更新丢失和多用户控制问题。因此,在设计时要充分考虑信息处理的复杂程度来选择合适的结构。实际应用中,可以采用三层C/S结构,三层C/S结构与中间件模型非常相似,由基于工作站的客户层、基于服务器的中间层和基于主机的数据层组成。在三层结构中,客户不产生数据库查询命令,它访问服务器上的中间层,由中间层产生数据库查询命令。三层C/S结构便于工作部署,客户层主要处理交互界面,中间层表达事务逻辑,数据层负责管理数据源和可选的源数据转换。

P2P模式是非中心结构的对等通信模式,每一个客户(Peer)都是平等的参与者,承担服务使用者和服务提供者两个角色。客户之间进行直接通信,可充分利用网络带宽,减少网络的拥塞状况,使资源的利用率大大提高。同时由于没有中央节点的集中控制,系统的伸缩性较强,也能避免单点故障,提高系统的容错性能。但由于P2P网络的分散性、自治性、动态性等特点,造成了某些情况下客户的访问结果是不可预见的。例如,一个请求可能得不到任何应答消息的反馈。

当前使用的IM系统大都组合使用了C/S和P2P模式。在登录IM进行身份认证阶段是工作在C/S方式,随后如果客户端之间可以直接通信则使用P2P方式工作,否则以C/S方式通过IM服务器通信,如下图所示:

 

  1. 常用的即时通信工具

随着移动互联网的发展,互联网即时通信也在向移动 化扩张。目前,微软、AOL、Yahoo、UcSTAR等重要即时通信提供商都提供通过手机接入互联网即时通信的业务,用户可以通过手机与其他已经安装了相应客户端软件的手机或电脑收发消息。

现在国内的即时通信工具按照使用对象分为两类:

SimpleIM 即时通讯工具 SimpleIM 安装说明 1. 三个目录 本压缩包包括三个目录, 分别为 src (源程序), res (资源), bin (可执行文件)。 2. src src 目录下包括四个目录, 分别为 Client (客户端), Server (服务端), Common (公用代码), Asp (网页)。 客户端 vbp: /src/Client/Client.vbp (目前版本: Beta 4) 服务端 vbp: /src/Server/Server.vbp 将上述两个文件用 Visual Basic 6.0 (Service Pack 6) 打开即可修改、编译。 asp 下包括 register.asp (注册页面), changepwd.asp (修改密码页面), conn.asp 和 md5.vbs。 3. bin bin 下为最终发行所需的二进制文件, 其中 SimpleIM.exe 为客户端程序, Simple IM Server.exe 为服务端程序。 修改源代码以后需要重新编译这两个文件。 MSWINSCK.OCX 为 Microsoft Winsock Control 6.0 (SP6), 为客户端和服务端需要; MSCOMCTL.OCX 为 Microsoft Windows Common Control 6.0 (SP6), 为客户端需要。 说明: 由于 Windows 98 以上版本 Windows 操作系统包含 MSVBVM60.DLL 等 VB6 运行时文件, 本压缩包中省略。 4. res res 下为图片、css、xsl 和数据库文件。 5. 安装 客户端需要准备的文件: SimpleIM.exe MSWINSCK.OCX MSCOMCTL.OCX 直接这将三个文件打包 (加上说明文档) 即可发布。 服务端需要准备的文件: Simple IM Server.exe MSWINSCK.OCX ServerDb.mdb register.asp changepwd.asp conn.asp md5.vbs 首先在服务器上安装 IIS, 将 register.asp, changepwd.asp, conn.asp, md5.vbs 放在一个支持 asp 的目录下, 然后在这个目录下创建一个目录 (目录名需要保密), 将 conn.asp 中 Const SecretDir = "SecretDir" 引号中的 内容改为这个目录的目录名, 然后将 Simple IM Server.exe, MSWINSCK.OCX, ServerDb.mdb 拷贝到这个目录下, 最后建立主页, 即可投入使用。 6. 兼容性 本程序仅在 Microsoft Windows XP SP2 下测试通过, 不保证在非 WinNT 5.x 内核上的兼容性。
JICQ——Java即时通讯工具 ————供广大网友赏析 (0.61更新与补充说明版本说明) 近来忽闻,我的JICQ在CSDN上得到发布,惊喜之余,深表惭愧。喜的是:真没想到,我的JICQ居然会在CSDN的首页上出现。愧的是:我的QQ还有诸多功能尚未完善,却得到广大网友的错爱。这些将是我继续完善我的JICQ的强大动力! 今天发布一些关于JICQ在使用的注意事项、补充说明、与一个更新版本(0.61)。 我的JICQ其实已经被我改动了一下,让它更合理一些。只是由于一些原因,没有及时发布,我现在马上发布到CSDN上。 改动如下: 1. 我已经去掉了JMF,那个东西太大了,本来只有几百K的程序因为它,一下子变成了接近2兆,对广大拨号上网的用户来说,实在太可怕了。 2. 对JICQServer启动命令行做了改动(在注意事项中说明)。 补充说明: 1. 关于跨平台能力:这本来是我用Java写这个ICQ工具的初衷,但由于本人只熟悉Windows平台,对其他系统不了解,虽然编译出了程序,但也不知道怎样来测试,如果有网友给与提供相关信息,我将感激不尽。 虽然我使用的SQL Server2000,但我的数据库结构比较简单,对数据库的查询使用的也是标准SQL——也是为了将来跨平台更容易些,所以可以使用其他数据库系统,我没试过,但我想应该可以。 2. 关于未完善之功能:由于时间、心情等原因,JICQ尚未完善,但毕竟已见雏形,我写这个东西,也只是一个偶然的机会,我现在正在考虑公开其代码。 3. 关于公开代码:我打算将源代码与完整的设计文档共享,以供广大网友学习Java使用。只是,现在时机尚未成熟,我也希望尽快给大家一个惊喜。 4. 关于Bug问题 由于时间较短,许多细节没有完善,不是我没有能力去写,只是现在太忙,没有精力。对于不完善的地方,请大家多多包涵。未完成之功能请参考提示1、2。 现仍寻求提示2中的解决方案。 注意事项: 1. 服务器端JICQ数据库,我采用的是MS SQL Server2000,数据库名称为JavaICQ,ODBC数据源名称为JavaICQ。 2. 服务器端JICQ启动命令行: JICQServer 用户名与密码分别为数据库系统的有效用户与密码 例:JICQServer sa 123 客户端JICQ需要在JVM或者JDK1.3.1的版本,千万不要在1.4.0的版本上运行,因为我发现在1.4.0以上运行Swing界面不好用。 提示1:未完成之功能列表(不是我不想写,只是没时间)。 1. 不支持“黑名单”功能。 2. 添加好友时,不向对方反馈消息,不提供身份校验。 3. 离线消息收发。 4. 聊天记录的管理。 5. 个人信息的管理等。 提示2:寻找解决方案 1. 服务器端JICQ的管理功能,比如系统管理员的日常维护、信息发布等功能。 2. 消息的加密措施,防止非法用户的恶意破解。 3. 客户端JICQ的本地聊天记录文件管理,希望能够找到安全性较高,效率也比较高的库管理方式。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

zhipengit

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值