脑残式网络编程入门(一):跟着动画来学TCP三次握手和四次挥手   http://www.52im.net/thread-1729-1-1.html     1.引言 网络编程中TCP协议的三次握手和四次挥手的问题,在面试中是最为常见的知识点之一.很多读者都知道“三次”和“四次”,但是如果问深入一点,他们往往都无法作出准确回答. 本篇文章尝试使用动画图片的方式,来对这个知识点进行“脑残式”讲解(哈哈),期望读者们可以更加简单.直观地理解TCP网络通信交互的本质. 另外,社区里的另两篇文章<理论经…
.引言 网络编程中TCP协议的三次握手和四次挥手的问题,在面试中是最为常见的知识点之一.很多读者都知道“三次”和“四次”,但是如果问深入一点,他们往往都无法作出准确回答. 本篇文章尝试使用动画图片的方式,来对这个知识点进行“脑残式”讲解(哈哈),期望读者们可以更加简单.直观地理解TCP网络通信交互的本质. 另外,社区里的另两篇文章<理论经典:TCP协议的3次握手与4次挥手过程详解>.<理论联系实际:Wireshark抓包分析TCP 3次握手.4次挥手过程>也是不错的入门文章,有兴趣…
脑残式网络编程入门(二):我们在读写Socket时,究竟在读写什么?     http://www.52im.net/thread-1732-1-1.html   1.引言 本文接上篇<脑残式网络编程入门(一):跟着动画来学TCP三次握手和四次挥手>,继续脑残式的网络编程知识学习 ^_^. 套接字socket是大多数程序员都非常熟悉的概念,它是计算机网络编程的基础,TCP/UDP收发消息都靠它.我们熟悉的web服务器底层依赖它,我们用到的MySQL关系数据库.Redis内存数据库底层依赖它.我…
本文引用了“帅地”发表于公众号苦逼的码农的技术分享. 1.引言 搞网络通信应用开发的程序员,可能会经常听到外网IP(即互联网IP地址)和内网IP(即局域网IP地址),但他们的区别是什么?又有什么关系呢?另外,内行都知道,提到外网IP和内网IP就不得不提NAT路由转换这种东西,那这双是什么鬼?本文就来简单讲讲这些到底都是怎么回事.   另外,以下是与本文内相关知识点有关联的文章,可详细阅读之: <P2P 技术详解(一):NAT详解——详细原理.P2P简介> <P2P 技术详解(二):P2P…
本文引用了公众号纯洁的微笑作者奎哥的技术文章,感谢原作者的分享. 1.前言   老于网络编程熟手来说,在测试和部署网络通信应用(比如IM聊天.实时音视频等)时,如果发现网络连接超时,第一时间想到的就是使用Ping命令Ping一下服务器看看通不通.甚至在有些情况下通过图形化的Ping命令工具对目标网络进行长测(比如:<两款增强型Ping工具:持续统计.图形化展式网络状况 [附件下载]>.<网络测试:Android版多路ping命令工具EnterprisePing[附件下载]>),可以…
本文原作者阮一峰,作者博客:ruanyifeng.com. 1.前言 新一代HTTP/2 协议的主要目的是为了提高网页性能(有关HTTP/2的介绍,请见<从HTTP/0.9到HTTP/2:一文读懂HTTP协议的历史演变和设计思路>). HTTP/2以前版的头信息(header)是直接传输文本,现在是压缩后传输.原来是同一个 TCP 连接里面,上一个回应(response)发送完了,服务器才能发送下一个,现在可以多个回应一起发送. 服务器推送(server push)是 HTTP/2 协议里面唯…
本文原作者:“竹千代”,原文由“玉刚说”写作平台提供写作赞助,原文版权归“玉刚说”微信公众号所有,即时通讯网收录时有改动. 1.前言 无论是即时通讯应用还是传统的信息系统,Http协议都是我们最常打交道的网络应用层协议之一,它的重要性可能不需要再强调(有鉴于此,即时通讯网整理了大量的有关http协议的文章,如有必要可从本文的相关链接处查阅).但是实际上很多人(包括我自己),虽然每天都会跟http的代码打交道,但对http了解的并不够深入.本文就我自己的学习心得,分享一下我认为需要知道的http常…
1.引言 本文接上篇<脑残式网络编程入门(一):跟着动画来学TCP三次握手和四次挥手>,继续脑残式的网络编程知识学习 ^_^. 套接字socket是大多数程序员都非常熟悉的概念,它是计算机网络编程的基础,TCP/UDP收发消息都靠它.我们熟悉的web服务器底层依赖它,我们用到的MySQL关系数据库.Redis内存数据库底层依赖它.我们用微信和别人聊天也依赖它,我们玩网络游戏时依赖它,读者们能够阅读这篇文章也是因为有它在背后默默地支持着网络通信. 本篇文章依然尝试使用动画图片的方式,来对这个知识…
目录 TCP三次握手和四次挥手 背景描述 常用的熟知端口号 TCP概述 TCP连接的建立(三次握手) TCP四次挥手 如果已建立连接,客户端突然断开,会怎么办呢? 基于TCP协议的套接字编程 什么是Socket 套接字发展史及分类 基于文件类型的套接字家族 基于网络类型的套接字家族 套接字工作流程 服务端套接字函数 客户端套接字函数 公共用途的套接字函数 面向锁的套接字函数 面向文件的套接字函数 基于TCP协议的套接字编程 服务端 客户端 TCP三次握手和四次挥手 背景描述 通过OSI七层网络模…
TCP三次握手和四次挥手过程 1.三次握手 (1)三次握手的详述 首先Client端发送连接请求报文,Server段接受连接后回复ACK报文,并为这次连接分配资源.Client端接收到ACK报文后也向Server段发生ACK报文,并分配资源,这样TCP连接就建立了. 最初两端的TCP进程都处于CLOSED关闭状态,A主动打开连接,而B被动打开连接.(A.B关闭状态CLOSED--B收听状态LISTEN--A同步已发送状态SYN-SENT--B同步收到状态SYN-RCVD--A.B连接已建立状态E…