网络编程懒人入门

转自: http://www.52im.net/thread-1095-1-1.html

仅记录到参考文章 ,具体可以点击链接查看

1、写在前面


论坛和群里常会有技术同行打算自已开发IM或者消息推送系统,很多时候连基本的网络编程理论(如网络协议等)都不了解,就贸然定方案、写代码,显得非常盲目且充满技术风险。

即时通讯网论坛里精心整理了《[通俗易懂]深入理解TCP协议》、《不为人知的网络编程》、《P2P技术详解》、《高性能网络编程》这几个网络编程的系列文章,甚至还有图文并貌+实战代码的《NIO框架入门》等等。资料虽好,无奈很多同行或许是时间紧迫,也或许是心态浮躁,反正就是没办法静下心来仔细研读,导致错过了很多必须掌握的网络编程知识基础(如果您正打算从零开发移动端IM,则建议您从此文开始《新手入门一篇就够:从零开发移动端IM)。

本次《网络编程懒人入门》系列文章(共3篇),将为大家(尤其是上面说的浮躁的开发者同行)提供懒人快速入门,希望在你没办法耐心读完上面的几个系列文章(但还是强烈建议优先去读一读)的情况还能对基本的网络编程知识有所了解和掌握,从而对您的IM系统或消息推系统的技术选型、方案制定、代码编写起到理论支撑作用。

本文将从网络通信协议讲起,懒人们,动起来^_^ !

2、正文引言


我们每天使用互联网,你是否想过,它是如何实现的?

全世界几十亿台电脑,连接在一起,两两通信。上海的某一块网卡送出信号,洛杉矶的另一块网卡居然就收到了,两者实际上根本不知道对方的物理位置,你不觉得这是很神奇的事情吗?

互联网的核心是一系列协议,总称为"互联网协议"(Internet Protocol Suite)。它们对电脑如何连接和组网,做出了详尽的规定。理解了这些协议,就理解了互联网的原理。

下面就是我的学习笔记。因为这些协议实在太复杂、太庞大,我想整理一个简洁的框架,帮助自己从总体上把握它们。为了保证简单易懂,我做了大量的简化,有些地方并不全面和精确,但是应该能够说清楚互联网的原理。

另外,如果您很好奇承载这些网络协议的物理设备是怎么工作的,可以先看看《网络编程懒人入门(六):史上最通俗的集线器、交换机、路由器功能原理入门》。

3、系列文章


本文是系列文章中的第1篇,本系列文章的大纲如下:
 


本站的《脑残式网络编程入门》也适合入门学习,本系列大纲如下:
 


如果您觉得本系列文章过于基础,您可直接阅读《不为人知的网络编程》系列文章,该系列目录如下:
 


关于移动端网络特性及优化手段的总结性文章请见:
 

 

4、参考资料


TCP/IP详解 - 第11章·UDP:用户数据报协议
TCP/IP详解 - 第17章·TCP:传输控制协议
TCP/IP详解 - 第18章·TCP连接的建立与终止
TCP/IP详解 - 第21章·TCP的超时与重传
通俗易懂-深入理解TCP协议(上):理论基础
通俗易懂-深入理解TCP协议(下):RTT、滑动窗口、拥塞处理
理论经典:TCP协议的3次握手与4次挥手过程详解
理论联系实际:Wireshark抓包分析TCP 3次握手、4次挥手过程
计算机网络通讯协议关系图(中文珍藏版)
高性能网络编程(一):单台服务器并发TCP连接数到底可以有多少
高性能网络编程(二):上一个10年,著名的C10K并发连接问题
高性能网络编程(三):下一个10年,是时候考虑C10M并发问题了
高性能网络编程(四):从C10K到C10M高性能网络应用的理论探索
简述传输层协议TCP和UDP的区别
为什么QQ用的是UDP协议而不是TCP协议?
移动端即时通讯协议选择:UDP还是TCP?

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值