类 QQ IM 通讯软件开发实战

课程简介

用习惯了微信的你,还记得当初的 QQ 吗?曾几何时,你是否也在梦想自己也能写出一个像 QQ 一样牛气的即时通讯软件?即使你不曾有过这个“野心”,你肯定也对 QQ 的实现原理感到好奇过,对吧?本达人课即将带您一探 QQ 此类 IM 软件背后的诸多实现细节。

此达人课涵盖了网络编程、设计模式、通信协议等基础知识,基于套接字(Socket)技术,实现了一个基于控制台的即时通讯软件(IM)。能够进行文本聊天、文件传送、发送表情等。支持服务器并发、内网穿透;当内网穿透失败时,允许服务器转发消息。

通过实现这样一个简单的 IM 软件,帮助读者消除 Socket 编程过程中的误区和困惑,更加深入的理解 TCP/IP 协议原理。另外,在现在这个年头,不把“高并发”挂在嘴上,都不好意思开口说话。高并发确实有着一定的门槛,但也并不是高不可攀,只是需要我们付出努力去学习、去实践,要知道,经验非常重要。我们的这个 IM 软件涉及到内网穿透(NAT 穿透、“打洞”)、服务器并发、心跳包检测等,这些技术对于网络应用都十分重要,想要深入网络编程的同学千万不能错过。

本达人课共包含以下四部分:

第一部分(第01课),作为开篇,对本项目做了一个整体的介绍,并对 IM 开发需要用到的知识进行概述;

第二部分(第02课),从基本原理层面,详细阐释了开发一个即时通讯软件需要理解和掌握的必备技能;

第三部分(第03-07课),从代码层面,给出了本项目主要部分的具体程序实现,便于读者较好的了解细节;

第四部分(第08课),作为总结,阐释了网络编程过程中常踩到的“坑”,希望能帮助读者在后续的 Socket 开发生涯中,少走一些弯路。

主要涵盖的技术点有:

  • Socket 编程
  • 服务端并发
  • 同步/异步、阻塞/非阻塞等 I/O 模型
  • 内网穿透及 P2P 通信
  • 心跳包检测机制
  • 应用层通信协议设计
  • TCP/IP 协议栈原理

作者介绍

汪磊,自由开发者,CSDN 博客作者,毕业于211,九年老司机。错上贼船已悟道,遂深耕于后端,前端略懂皮毛。丰富的项目经验,用代码诠释世界。

适宜人群

  • 从事网络应用开发的开发人员;
  • 被 Socket 编程折腾的心力憔悴的道中人;
  • 对服务器并发及内网穿透有兴趣的初学者。

达人课购买须知

  1. 本课程为图文内容课程,共计 8 篇。
  2. 付费用户可享受文章永久阅读权限。
  3. 付费用户可获取读者圈 PASS 权限,与讲师进一步互动。
  4. 本课程为虚拟产品,一经付费概不退款,敬请谅解。
  5. 本课程也可在 gitbook.cn 上购买和阅读。

订阅福利

  • GitChat 新用户购买立享五折优惠。
  • 订购本课程可获得专属海报,分享专属海报每成功邀请一位好友购买,即可获得 25% 的返现奖励,多邀多得,上不封顶,立即提现。
  • 提现流程:请在 GitChat 服务号中点击“我—我的邀请—提现”进行提现。
推荐达人课查看更多达人课
微信扫描登录