2016年11月18日

[置顶] IM消息送达保证机制实现(二):保证离线消息的可靠投递

摘要:本文的上篇我们讨论了在线实时消息的投递,如果接收方用户B不在线,系统是如何保证离线消息的可达性的呢?这就是本文要讨论的问题。 阅读全文

posted @ 2016-11-18 14:25 helloJackJiang 阅读 (314) 评论 (0) 编辑

2016年10月21日

[置顶] 【原创】高性能网络编程(二):上一个10年,著名的C10K并发连接问题

摘要:虽然C10K问题已被妥善解决,但对于即时通讯应用(或其它网络编程方面)的开发者而言,研究C10K问题仍然价值巨大,因为技术的发展都是有规律和线索可循的,了解C10K问题及其解决思路,通过举一反三,或许可以为你以后面对类似问题提供更多可借鉴的思想和解决问题的实践思路。而这,也正是撰写本文的目的所在。 阅读全文

posted @ 2016-10-21 15:50 helloJackJiang 阅读 (1647) 评论 (0) 编辑

2016年9月26日

[置顶] 理论经典:TCP协议的3次握手与4次挥手过程详解

摘要:本文将分别讲解经典的TCP协议建立连接(所谓的“3次握手”)和断开连接(所谓的“4次挥手”)的过程。 阅读全文

posted @ 2016-09-26 16:08 helloJackJiang 阅读 (117) 评论 (0) 编辑

2016年9月7日

[置顶] 技术往事:改变世界的TCP/IP协议(珍贵多图、手机慎点)

摘要:本文将简要回故TCP/IP协议的过去、简单介绍TCP/IP协议族的关系,并与大家一起直观地分享由TCP/IP协议族所构建的虚拟网络与真实世界的“连接”情况。 阅读全文

posted @ 2016-09-07 15:12 helloJackJiang 阅读 (181) 评论 (0) 编辑

2016年9月6日

[置顶] 为什么说基于TCP的移动端IM仍然需要心跳保活?

摘要:很多人认为,TCP协议自身先天就有KeepAlive机制,为何基于它的通讯链接,仍然需要在应用层实现额外的心跳保活?本文将从移动端IM实践的角度告诉你,即使使用的是TCP协议,应用层的心跳保活仍旧必不可少。 阅读全文

posted @ 2016-09-06 16:53 helloJackJiang 阅读 (313) 评论 (0) 编辑

2016年8月29日

[置顶] 简述移动端IM开发的那些坑:架构设计、通信协议和客户端

摘要:有过移动端开发经历的开发者都深有体会:移动端IM的开发,与传统PC端IM有很大的不同,尤其无线网络的不可靠性、移动端硬件设备资源的有限性等问题,导致一个完整的移动端IM架构设计和实现都充满着大量的挑战。本文将简述移动端IM最重要的架构设计和通信协议选择方面的坑点,希望为IM开发者同行带来些许启发。 阅读全文

posted @ 2016-08-29 17:20 helloJackJiang 阅读 (867) 评论 (0) 编辑

2016年8月15日

[置顶] 移动端IM系统的协议选型:UDP还是TCP?

摘要:移动端IM/推送到底该选TCP还是UDP?鉴于移动网络的不可靠性、手机的省电策略、流量压缩、服务端负载等因素,本文将从作者的实践总结,给出自已的观点。 阅读全文

posted @ 2016-08-15 16:20 helloJackJiang 阅读 (815) 评论 (0) 编辑

2016年8月4日

[置顶] 如何选择即时通讯应用的数据传输格式

摘要:即时通讯应用(包括IM聊天应用、实时消息推送应用等)开发的前期技术选型时,关于数据传输格式的选择,在即时通讯开发者同行的眼里,是个极富争议话题。 阅读全文

posted @ 2016-08-04 15:34 helloJackJiang 阅读 (153) 评论 (0) 编辑

2016年8月3日

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

摘要:本文将以新手的视角引导你阅读相关文章,以便为从零开发一个移动端IM做好方方面面的知识准备:包括但不限于网络编程基础、通信协议的选型、IM的架构设计等等。 阅读全文

posted @ 2016-08-03 12:10 helloJackJiang 阅读 (150) 评论 (0) 编辑

2016年7月28日

[置顶] 开源IM工程“蘑菇街TeamTalk”的现状:一场有始无终的开源秀

摘要:本文将简要介绍TeamTalk开源的过去和现在,为打算研究和采用TeamTalk的同行提供一定程度的参考。文中所涉及内容如有不妥,还请各位看官见谅。 阅读全文

posted @ 2016-07-28 13:43 helloJackJiang 阅读 (395) 评论 (0) 编辑

2016年7月22日

[置顶] Web端即时通讯技术盘点:短轮询、Comet、Websocket、SSE

摘要:Web端即时通讯技术因受限于浏览器的设计限制,一直以来实现起来并不容易,主流的Web端即时通讯方案大致有4种:传统Ajax短轮询、Comet技术、WebSocket技术、SSE(Server-sent Events)。本文将简要介绍这4种技术的原理,并指出各自的异同点、优缺点等。 阅读全文

posted @ 2016-07-22 17:52 helloJackJiang 阅读 (451) 评论 (2) 编辑

2016年7月15日

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

摘要:本文基于作者的实践以及相关资料的整理,总结了自已对Android进程和Service保活的理解,希望能为你的应用开发带来启发。 阅读全文

posted @ 2016-07-15 18:12 helloJackJiang 阅读 (2579) 评论 (0) 编辑

2016年7月12日

[置顶] 新手入门:史上最全Web端即时通讯技术原理详解

摘要:Web端的IM应用,由于浏览器的兼容性以及其固有的“客户端请求服务器处理并响应”的通信模型,造成了要在浏览器中实现一个兼容性较好的IM应用,其通信过程必然是诸多技术的组合,本文的目的就是要详细探讨这些技术并分析其原理和过程。 阅读全文

posted @ 2016-07-12 15:53 helloJackJiang 阅读 (1292) 评论 (0) 编辑

2016年6月30日

[置顶] 【原创】NIO框架入门(四):Android与MINA2、Netty4的跨平台UDP双向通信实战

摘要:本文演示的是一个Android客户端程序,通过UDP协议与两个典型的NIO框架服务端(分别用MINA2和Netty4来实现),实现跨平台双向通信的完整Demo。 阅读全文

posted @ 2016-06-30 16:52 helloJackJiang 阅读 (2861) 评论 (1) 编辑

2016年6月28日

[置顶] 【原创】NIO框架入门(三):iOS与MINA2、Netty4的跨平台UDP双向通信实战

摘要:本文将演示一个iOS客户端程序,通过UDP协议与两个典型的NIO框架服务端(将分别用MINA2和Netty4来实现),实现跨平台双向通信的完整Demo。 阅读全文

posted @ 2016-06-28 15:52 helloJackJiang 阅读 (620) 评论 (0) 编辑

2016年6月24日

[置顶] 【原创】NIO框架入门(二):服务端基于MINA2的UDP双向通信Demo演示

摘要:本文是《NIO框架入门》系列文章中的第2篇,将演示的是一个基于MINA2的UDP服务端和一个标准UDP客户端(Java实现)双向通信的完整例子。 阅读全文

posted @ 2016-06-24 14:28 helloJackJiang 阅读 (4922) 评论 (0) 编辑

2016年6月20日

[置顶] 【原创】NIO框架入门(一):服务端基于Netty4的UDP双向通信Demo演示

摘要:本文将演示的是一个基于Netty4的UDP服务端和一个标准UDP客户端(Java实现)双向通信的完整例子。实际上,Netty4的UDP例子非常难找,官方的代码演示里只有一个简单的UDP广播例子,不足以用于演示Netty4的UDP通信最佳实践。 阅读全文

posted @ 2016-06-20 15:21 helloJackJiang 阅读 (8993) 评论 (0) 编辑

2019年10月14日

拿起键盘就是干:跟我一起徒手开发一套分布式IM系统

摘要:1、引言 老读者应该还记得我在去年国庆节前分享过一篇《技术干货:从零开始,教你设计一个百万级的消息推送系统》,虽然我在文中有贴一些伪代码,依然有些朋友希望能直接分享一些可以运行的源码。好吧,质疑我穷我无话可说(因为是真穷。。),怀疑我撸码的能力那是绝对不行,所以这次准备拉起键盘大干一场——徒手撸套分 阅读全文

posted @ 2019-10-14 22:50 helloJackJiang 阅读 (21) 评论 (0) 编辑

2019年10月12日

12306抢票带来的启示:看我如何用Go实现百万QPS的秒杀系统

摘要:本文为开源实验性工程:“github.com/GuoZhaoran/spikeSystem”的配套文章,原作者:“绘你一世倾城”,现为:猎豹移动php开发工程师,感谢原作者的技术分享。 1、引言 Go语言的出现,让开发高性能、高稳定性服务端系统变的容易,与高贵冷艳的Erlang语言不同的是,Go语言 阅读全文

posted @ 2019-10-12 14:45 helloJackJiang 阅读 (23) 评论 (0) 编辑

2019年10月9日

适合新手:从零开发一个IM服务端(基于Netty,有完整源码)

摘要:本文由“yuanrw”分享,博客:juejin.im/user/5cefab8451882510eb758606,收录时内容有改动和修订。 0、引言 站长提示:本文适合IM新手阅读,但最好有一定的网络编程经验,必竟实践性的代码上手就是网络编程。如果你对网络编程,以及IM的一些理论知识知之甚少,请务必 阅读全文

posted @ 2019-10-09 14:43 helloJackJiang 阅读 (22) 评论 (0) 编辑

2019年9月23日

美团技术分享:深度解密美团的分布式ID生成算法

摘要:本文来自美团技术团队“照东”的分享,原题《Leaf——美团点评分布式ID生成系统》,收录时有勘误、修订并重新排版,感谢原作者的分享。 1、引言 鉴于IM系统中聊天消息ID生成算法和生成策略的重要性(因为某种意义上来说:聊天消息ID的优劣决定了IM应用层某些功能实现的难易度),所以即时通讯网近期正在着 阅读全文

posted @ 2019-09-23 16:26 helloJackJiang 阅读 (49) 评论 (0) 编辑

2019年9月19日

融云技术分享:解密融云IM产品的聊天消息ID生成策略

摘要:本文来自融云技术团队原创分享,原文发布于“融云全球互联网通信云”公众号,原题《如何实现分布式场景下唯一 ID 生成?》,即时通讯网收录时有部分改动。 1、引言 对于IM应用来说,消息ID(或称序列号)是个看似不起眼,但非常重要的东西之一。 消息ID的使用贯穿了IM技术逻辑的方方面面,比如: 1)聊天 阅读全文

posted @ 2019-09-19 17:40 helloJackJiang 阅读 (20) 评论 (0) 编辑

2019年9月17日

融云技术分享:融云安卓端IM产品的网络链路保活技术实践

摘要:本文来自融云技术团队原创分享,原文发布于“ 融云全球互联网通信云”公众号,原题《IM 即时通讯之链路保活》,即时通讯网收录时有部分改动。 1、引言 众所周知,IM 即时通讯是一项对即时性要求非常高的技术,而保障消息即时到达的首要条件就是链路存活。那么在复杂的网络环境和国内安卓手机被深度定制化的条件下 阅读全文

posted @ 2019-09-17 11:14 helloJackJiang 阅读 (22) 评论 (0) 编辑

2019年9月9日

不为人知的网络编程(九):理论联系实际,全方位深入理解DNS

摘要:本文原作者:selfboot,博客地址:selfboot.cn,Github地址:github.com/selfboot,感谢原作者的技术分享。 1、引言 对于 DNS(Domain Name System) 大家肯定不陌生,不就是用来将一个网站的域名转换为对应的IP吗。当我们发现可以上QQ但不能浏 阅读全文

posted @ 2019-09-09 11:12 helloJackJiang 阅读 (23) 评论 (0) 编辑

2019年9月5日

知乎技术分享:知乎千万级并发的高性能长连接网关技术实践

摘要:本文来自知乎官方技术团队的“知乎技术专栏”,感谢原作者faceair的无私分享。 1、引言 实时的响应总是让人兴奋的,就如你在微信里看到对方正在输入,如你在王者峡谷里一呼百应,如你们在直播弹幕里不约而同的 666,它们的背后都离不开长连接技术的加持。每个互联网公司里几乎都有一套长连接系统,它们被应用 阅读全文

posted @ 2019-09-05 10:33 helloJackJiang 阅读 (41) 评论 (0) 编辑

2019年9月2日

Web端即时通讯基础知识补课:一文搞懂跨域的所有问题!

摘要:本文原作者: Wizey,作者博客:http://wenshixin.gitee.io,即时通讯网收录时有改动,感谢原作者的无私分享。 1、引言 典型的Web端即时通讯技术应用场景,主要有以下两种形式: 1)作为完整的即时通讯产品进行应用:比如独立的Web端IM产品; 2)作为某个更大系统中的一部分 阅读全文

posted @ 2019-09-02 15:39 helloJackJiang 阅读 (47) 评论 (0) 编辑

2019年8月22日

一文读懂前端技术演进:盘点Web前端20年的技术变迁史

摘要:本文原文由作者“司徒正美”发布于公众号“前端你别闹”,即时通讯网收录时有改动,感谢原作者的分享。 1、引言 1990 年,第一个Web浏览器的诞生;1991 年,WWW诞生,这标志着前端技术的开始。 在这将近20年的前端发展史中,我们经历了从最早的纯静态页面,到JavaScript跨时代的诞生;从P 阅读全文

posted @ 2019-08-22 18:05 helloJackJiang 阅读 (41) 评论 (0) 编辑

导航

Jack Jiang的 Mail: jb2011@163.com, 个人主页: 点此进入 , 微信: hellojackjiang