首页
学习
活动
专区
工具
TVP
发布

使用Android WebSocket实现即时通讯功能

即时通讯(Instant Messaging)最重要的毫无疑问就是即时,不能有明显的延迟,要实现IM的功能其实并不难,目前有很多第三方,比如极光的JMessage,都比较容易实现。...WebSocket WebSocket协议就不细讲了,感兴趣的可以具体查阅资料,简而言之,它就是一个可以建立长连接的全双工(full-duplex)通信协议,允许服务器端主动发送信息给客户端。.../github.com/TooTallNate/Java-WebSocket,目前已经有五千以上star,并且还在更新维护中,所以本文将介绍如何利用此开源库实现一个稳定的即时通讯功能。...这篇文章重点是即时通讯,对于服务保活有需要的可以自行查阅更多资料,这里就不细说了。...总结 以上所述是小编给大家介绍的Android WebSocket实现即时通讯功能,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。

5.2K32
您找到你想要的搜索结果了吗?
是的
没有找到

Android后台保活实践总结:即时通讯应用无法根治的“顽疾”

前言 Android进程和Service的保活,是困扰Android开发人员的一大顽疾。...在应用场景上,由于即时通讯应用(包括IM聊天应用、消息推送服务等)为了保证消息的全时、实时送达能力,必须要实现进程或Service的保活。...而就这一看似不起眼的问题,实际处理起来,因为众多Android手机和Android系统版本的差异,让问题的处理充满了不确定性。...概述 近期做了一个Android项目,涉及到了后台进程和Service保活的问题,网上找了很多资料,基本的保活方法都测试了。结果是:不同的手机,不同的Android版本保活效果各有差异。...[注意]: 目前在Android 5.0系统上会把fork出来的进程放到一个进程组里, 当程序主进程挂掉后,也会把整个进程组杀掉,因此用fork的方式也无法在Android5.0及以上系统实现守护进程.

2.1K30

xmpp即时通讯

更进一步,包含在‘from’属性中的JID的域标识符部分必须匹配发送服务器(或任何已认证相关域,如发送服务器的主机名或其它由发送服务器已认证域)的主机名,当在SASL协商或回叫协商通信中;如果一个服务器收到一个不满足此约束的节...处理XML节的服务器规则       兼容服务器实现必须确保有序处理任两实体间的XML节。 超出有序处理的需求,每个服务器实现将包含它自己的“传送树”用于处理它所接收的节。...有两种可能情况:       一个服务器服务器流已在两域间存在:发送者的服务器为现存流的外部域路由节到已授权服务器。      ...两域间存在无主机到主机流:发送者的服务器(1)解析外部域(定义在以下服务器服务器通信(节14。...如果路由到接收者的服务器不成功,发送者的服务器必须返回一个错误给发送者;如果接收者的服务器能被联系但被接收者的服务器传送到接收者是不成功的,接收者的服务器必须经由发送者的服务器返回一个错误给发送者。

2K50

websocket即时通讯

websocket使得客户端和服务器之间的数据交换变得更加简单,允许服务端主动向客户端推送数据。...轮询是在特定的时间间隔,由浏览器对客户端发出HTTP请求,然后由服务器返回最新的数据给客户端的浏览器。...三、优点 1、控制开销 创建连接后,服务器和客户端之间交换数据时,用于协议控制的数据包头部相对较小。 2、实时性更强 由于协议是全双工的,所以服务器可以随时主动给客户端下发数据。...2、TCP连接成功后,客户端通过HTTP协议向服务器传送websocket支持的版本号信息。(开始前的HTTP握手) 3、服务器收到客户端的握手请求后,同样采用HTTP协议回馈数据。...Socks5代理是Socks的增强版,使用代理服务器可以很好地隐藏匿名访问任何在线信息。

2K20

xmpp即时通讯

在客户端到服务器端通信的上下文中,服务器必须允许客户端为了从客户端到服务器服务器到客户端的XML节发送共享的一个单 TCP连接。...在服务器服务器的通信上下文中,服务器必须使用一条TCP连接用于从服务器到其对等服务器的XML节传送,另一条TCP连接(由对等初始化)用于对其等服务器服务器的XML节传送,总共有两条TCP连接。...一个给定域的管理者可能需要使用TLS来进行客户端到服务器的通信,服务器服务器的通信,或二者兼有。...客户端应使用TLS去保护流,在企图完成SASL协商之前,而且,服务器出于保护服务器服务器的通信的考虑,应在两个域间使用TLS。      ...2) 如果两服务器间的TLS协商发生,直到服务器宣称的域名系统(DNS)主机名被决定(参考服务器服务器的通信(14.4))后,才能处理通信。

1.9K80

xmpp即时通讯

服务器回叫并不是一个安全机制,并且仅导致服务器身份弱验证(参考服务器服务器的通信(14.4)相关方法的安全特性)。域需要健壮的安全性,应当使用TLS与SASL;参考服务器服务器通信(4.4)细节。...3) 授权服务器——回答由源服务器宣称的DNS主机名;对基本环境来说是源服务器,但在源服务器网络中可以是一个分离的机器。...3) 接收服务器建立到认证服务器的连接。 4) 接收服务器向授权服务器发送相同的‘key’值。 5) 授权服务器回答密钥值是否有效。...由源服务器产生的密钥必须部分基于接收服务器在先前步骤提供的ID 值,并部分基于源服务器与授权服务器的保密共享。...前述结果是接收服务器已经认证了源服务器的身份,为了节通过“初始流”(如,从源服务器到接收服务器的流)的XML能被源服务器发送与接收服务器能接收,为了验证使用“响应流”(如,从接收服务器到源服务器)实体的身份

1.9K70

从客户端的角度来谈谈移动端IM的消息可靠性和送达机制

如何确保 IM 不丢消息是个相对复杂的话题,从客户端发送数据到服务器,再从服务器抵达目标客户端,最终在 UI 成功展示,其间涉及的环节很多,这里只取其中一环「接收端如何确保消息不丢失」来探讨,粗略聊下我接触过的两种设计思路...端即时通讯技术盘点:短轮询、Comet、Websocket、SSE》 《SSE技术详解:一种全新的HTML5服务器推送事件技术》 《Comet技术详解:基于HTTP长连接的Web端实时通信技术》...(IM)系统理论架构方案》 《从零到卓越:京东客服即时通讯系统的技术架构演进历程》 《蘑菇街即时通讯/IM服务器开发之架构选择》 《腾讯QQ1.4亿在线用户的技术挑战和架构演进之路PPT》 《微信后台基于时间序的海量数据冷热分级架构设计实践...《IM开发基础知识补课(三):快速理解服务端数据库读写分离原理及实践建议》 >> 更多同类文章 …… [5] 有关IM安全的文章: 《即时通讯安全篇(一):正确地理解和使用Android端加密算法...》 《即时通讯安全篇(二):探讨组合加密算法在IM中的应用》 《即时通讯安全篇(三):常用加解密算法与通讯安全讲解》 《即时通讯安全篇(四):实例分析Android中密钥硬编码的风险》 《即时通讯安全篇

2.3K20

Netty干货分享:京东京麦的生产级TCP网关技术实践总结

8.4 数据下行 数据下行通过MQ广播机制到所有服务器,所有服务器收到消息后,获取当前服务器所持有的所有Session会话,进行数据广播下行通知。...如果是点对点的数据推送下行,数据也是先广播到所有服务器,每天服务器判断推送的端是否是当前服务器持有的会话,如果判断消息数据中的信息是在当前服务,则进行推送,否则抛弃。如下图代码所示。 ?...(IM)系统理论架构方案》 《从零到卓越:京东客服即时通讯系统的技术架构演进历程》 《蘑菇街即时通讯/IM服务器开发之架构选择》 《腾讯QQ1.4亿在线用户的技术挑战和架构演进之路PPT》 《微信后台基于时间序的海量数据冷热分级架构设计实践...《现代IM系统中聊天消息的同步和存储方案探讨》 >>更多同类文章 …… [7] 有关IM安全的文章: 《即时通讯安全篇(一):正确地理解和使用Android端加密算法》 《即时通讯安全篇(二):...探讨组合加密算法在IM中的应用》 《即时通讯安全篇(三):常用加解密算法与通讯安全讲解》 《即时通讯安全篇(四):实例分析Android中密钥硬编码的风险》 《即时通讯安全篇(五):对称加密技术在

4.3K11

深入浅出即时通讯(1)_即时通讯协议对比

即时通讯协议对比 业界上用来做即时通讯的解决方案有:1. 基于http 的轮询; 2. 基于websocket 长连接; 3....1.1.5 socket.io socket.io 是一个在客户端,服务器之间进行即时通讯的使用库,它提供一个低延时,双向的,基于事件的通讯模式. socket.io 有如下的特点: 它是在Websocket...一般而言,不是专业做即时通讯的中小企业都很少打造自己的通讯协议。...1.2 即时通讯协议选型 在设计"E聊SDK"的过程中,笔者注意考虑了以下几点即时通讯的需求: 聊天方式支持单聊,群聊,消息类型支持文本,表情 ,图片,文件等; 首要支持移动端(android, ios...并在最后介绍了"E聊SDK"的通讯方案选型的考虑,以便打造一个现代化即时通讯应用。

2.6K20

即时通讯安全篇(十):IM聊天系统安全手段之通信连接层加密技术

2、系列文章本文是IM通讯安全知识系列文章中的第10篇,此系列总目录如下:《即时通讯安全篇(一):正确地理解和使用Android端加密算法》《即时通讯安全篇(二):探讨组合加密算法在IM中的应用》《即时通讯安全篇...(三):常用加解密算法与通讯安全讲解》《即时通讯安全篇(四):实例分析Android中密钥硬编码的风险》《即时通讯安全篇(五):对称加密技术在Android平台上的应用实践》《即时通讯安全篇(六):非对称加密技术的原理与应用实践...5.2 在即时通讯中的应用作为即时通讯中的关键组成,IM即时通讯系统为了实现消息的快速、实时送达,一般需要客户端与服务器端建立一条socket长连接,用以快速地将消息送达到客户端。...通常即时通讯客户端会以 TCP 或 UDP 的方式与服务器建立连接,同时某些场景下也会使用 HTTP 的方式从服务器获取或提交一些信息。...这其中,会涉及:1)对称加密算法(详见《对称加密技术在Android平台上的应用实践》)2)非对称加密算法(详见《非对称加密技术的原理与应用实践》);3)信息摘要算法(详见《常用加解密算法与通讯安全讲解

1K20

Android:最全面解析Android消息推送解决方案

如下图: 优点 C2DM提供了一个简单的、轻量级的机制,允许服务器可以通知移动应用程序直接与服务器进行通信,以便于从服务器获取应用程序更新和用户数据。...一个采用PHP书写的服务器端 3. Jar包下载地址,并加入自己的Android应用程序中。 3....通过 TCP/IP与XMPP 服务器连接,然后在之上传输与即时通讯相关的指令(XML); 2. 解析组织好的 XML 信息包; 3. 理解消息数据类型。...XMPP的核心:XML流传输协议(在网络上分片断发送XML的流协议),也是即时通讯指令的传递基础,即XMPP用TCP传的是XML流 与即时通讯相关的指令,在以前要么用2进制的形式发送(比如QQ),...XMPP传输的即时通讯指令的逻辑与以往相仿,只是协议的形式变成了XML格式的纯文本 服务器 1. 监听客户端连接,并直接与客户端应用程序通信(客户端信息记录) 2.

6.9K31

【原创】新手入门一篇就够:从零开发移动端IM

时至今日,TCP的服务端负载已经有了很好的解决方案,加之服务器资源成本的下降,目前很多IM、消息推送解决方案也都在使用TCP作为传输层协议。...:京东客服即时通讯系统的技术架构演进历程》《蘑菇街即时通讯/IM服务器开发之架构选择》《腾讯QQ1.4亿在线用户的技术挑战和架构演进之路PPT》《微信技术总监谈架构:微信之道——大道至简(演讲全文)》《...以下文章或许有助于您设计出安全的移动端IM系统:《即时通讯安全篇(一):正确地理解和使用Android端加密算法》《即时通讯安全篇(二):探讨组合加密算法在IM中的应用》《即时通讯安全篇(三):常用加解密算法与通讯安全讲解...》《即时通讯安全篇(四):实例分析Android中密钥硬编码的风险》《传输层安全协议SSL/TLS的Java平台实现简介和Demo演示》《理论联系实际:一套典型的IM通信协议设计详解(含安全层设计)》《...[1] 有关WEB端即时通讯开发:《新手入门贴:史上最全Web端即时通讯技术原理详解》《Web端即时通讯技术盘点:短轮询、Comet、Websocket、SSE》《SSE技术详解:一种全新的HTML5服务器推送事件技术

1.6K42

xmpp即时通讯详解

其中,客户端利用XMPP访问基于[TCP]连接的一个服务器,并且,服务器间也通过TCP连接进行彼此间的通信。          ...4) FN1 = 外部消息网络 5) C1 = 外部消息网络的客户端 2.2 服务器         服务器作为XMPP通信担当智能抽象层。...2.3 客户端         大多数客户端通过[TCP]连接直接连到服务器,并且使用XMPP,充分利用由服务器及任何相关服务所提供的功能。...2.5 网络         由于每个服务器由网络地址指定,并且由于服务器服务器间的通信是客户与服务器协议的直接扩展,实际上,系统由互相通信的服务器网络组成。...然而,由域标识符作为参考的实体并不总是服务器,它可能是一项以服务器子域为地址的服务,提供多于服务器(例:多用户聊天服务,用户目录,或外部消息系统的一个网关)的功能。

2.8K50
领券