2016年11月18日

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

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

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

2016年10月21日

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

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

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

2016年9月26日

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

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

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

2016年9月7日

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

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

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

2016年9月6日

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

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

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

2016年8月29日

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

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

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

2016年8月15日

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

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

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

2016年8月4日

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

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

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

2016年8月3日

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

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

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

2016年7月28日

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

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

posted @ 2016-07-28 13:43 helloJackJiang 阅读 (374) 评论 (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 阅读 (417) 评论 (2) 编辑

2016年7月15日

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

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

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

2016年7月12日

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

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

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

2016年6月30日

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

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

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

2016年6月28日

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

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

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

2016年6月24日

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

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

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

2016年6月20日

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

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

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

2019年8月22日

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

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

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

2019年8月14日

网易云信技术分享:IM中的万人群聊技术方案实践总结

摘要:本文来自网易云信团队的技术分享,原创发表于网易云信公众号,原文链接:mp.weixin.qq.com/s/LT2dASI7QVpcOVxDAsMeVg,收录时有改动。 1、引言 在不了解IM技术的人眼里,群聊是再平常不过的功能而已,万人群聊?应该也不难实现吧?! 确实,从前端功能界面上来看,群聊无非 阅读全文

posted @ 2019-08-14 10:06 helloJackJiang 阅读 (15) 评论 (1) 编辑

2019年8月8日

一文读懂即时通讯应用中的网络心跳包机制:作用、原理、实现思路等

摘要:本文原文由作者“张小方”原创发布于“高性能服务器开发”微信公众号,原题《心跳包机制设计详解》,即时通讯网收录时有改动。 1、引言 一般来说,没有真正动手做过网络通信应用的开发者,很难想象即时通讯应用中的心跳机制的作用。但不可否认,作为即时通讯应用,心跳机制是其网络通信技术底层中非常重要的一环,有没有 阅读全文

posted @ 2019-08-08 12:00 helloJackJiang 阅读 (16) 评论 (0) 编辑

2019年8月2日

可能会搞砸你的面试:你知道一个TCP连接上能发起多少个HTTP请求吗?

摘要:本文由原作者松若章原创发布,作者主页:zhihu.com/people/hrsonion/posts,感谢原作者的无私分享。 1、引言 一道经典的面试题是:从 URL 在浏览器被被输入到页面展现的过程中发生了什么? 大多数回答都是说请求响应之后 DOM 怎么被构建,被绘制出来。但是你有没有想过,收到 阅读全文

posted @ 2019-08-02 09:54 helloJackJiang 阅读 (27) 评论 (0) 编辑

2019年7月29日

百度APP移动端网络深度优化实践分享(三):移动端弱网优化篇

摘要:本文由百度技术团队“蔡锐”原创发表于“百度App技术”公众号,原题为《百度App网络深度优化系列《三》弱网优化》,感谢原作者的无私分享。 一、前言 网络优化解决的核心问题有三个,第一是安全问题,我们在《百度APP移动端网络深度优化实践分享(一):DNS优化篇》进行了详细的讲解。第二是速度问题,我们在 阅读全文

posted @ 2019-07-29 10:29 helloJackJiang 阅读 (16) 评论 (0) 编辑

2019年7月24日

从游击队到正规军:马蜂窝旅游网的IM系统架构演进之路

摘要:本文引用自马蜂窝公众号,由马蜂窝技术团队原创分享。 一、引言 今天,越来越多的用户被马蜂窝持续积累的笔记、攻略、嗡嗡等优质的分享内容所吸引,在这里激发了去旅行的热情,同时也拉动了马蜂窝交易的增长。在帮助用户做出旅行决策、完成交易的过程中,IM 系统起到了重要的作用。 IM 系统为用户与商家建立了直接 阅读全文

posted @ 2019-07-24 21:44 helloJackJiang 阅读 (27) 评论 (0) 编辑

2019年7月22日

自已开发IM有那么难吗?手把手教你自撸一个Andriod版简易IM (有源码)

摘要:本文由作者FreddyChen原创分享,为了更好的体现文章价值,引用时有少许改动,感谢原作者。 1、写在前面 一直想写一篇关于im即时通讯分享的文章,无奈工作太忙,很难抽出时间。今天终于从公司离职了,打算好好休息几天再重新找工作,趁时间空闲,决定静下心来写一篇文章,毕竟从前辈那里学到了很多东西。 工 阅读全文

posted @ 2019-07-22 12:48 helloJackJiang 阅读 (50) 评论 (0) 编辑

2019年7月17日

从新手到架构师,一篇就够:从100到1000万高并发的架构演进之路

摘要:1、引言 本文以设计淘宝网的后台架构为例,介绍从一百个并发到千万级并发情况下服务端的架构的14次演进过程,同时列举出每个演进阶段会遇到的相关技术,让大家对架构的演进有一个整体的认知。文章最后汇总了一些架构设计的原则。 (本文同步发布于:http://www.52im.net/thread-2665- 阅读全文

posted @ 2019-07-17 23:57 helloJackJiang 阅读 (129) 评论 (0) 编辑

2019年7月4日

小程序技术始于微信?来看看移动端小程序技术的前世今生!

摘要:本文由DCloud 公司创始人王安原创发布于CSDN,原题《小程序技术演进史》,即时通讯网收录时有改动,感谢原作者。 1、引言 微信的成功,并非特定于某个具体的功能,微信的成功实际上是一大批创新技术和体验的成功合集,这也是它为何如此难此被超越的根本原因。 作为微信这个超级社交应用中最为亮眼的技术之一 阅读全文

posted @ 2019-07-04 12:02 helloJackJiang 阅读 (27) 评论 (0) 编辑

2019年6月29日

史上最强Java NIO入门:担心从入门到放弃的,请读这篇!

摘要:本文原题“《NIO 入门》,作者为“Gregory M. Travis”,他是《JDK 1.4 Tutorial》等书籍的作者。 1、引言 Java NIO是Java 1.4版加入的新特性,虽然Java技术日新月异,但历经10年,NIO依然为Java技术领域里最为重要的基础技术栈,而且依据现实的应用 阅读全文

posted @ 2019-06-29 22:16 helloJackJiang 阅读 (188) 评论 (0) 编辑

导航

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