文章 2022-12-11 来自:开发者社区

Linux网络原理及编程(5)——第十五节 TCP的连接(三次握手、四次挥手)

本节我们来介绍TCP连接的建立和断开。我们主要介绍两个过程、两个状态。两个过程即三次握手和四次挥手;两个状态指TIME_WAIT和COLSE_WAIT状态。我们本节,会始终围绕着这张图来展开:三次握手我们还是按照列点是来分析,这样会使得条理比较清晰:1、当客户端向服务器发起第一次请求(SYN)时,其自身就会处于一种SYN_SEND的状态(即等待发送)2、处于listen状态的服务器接收到客户端发....

Linux网络原理及编程(5)——第十五节 TCP的连接(三次握手、四次挥手)
文章 2022-06-13 来自:开发者社区

不为人知的网络编程(十一):从底层入手,深度分析TCP连接耗时的秘密

本文作者张彦飞,原题“聊聊TCP连接耗时的那些事儿”,有少许改动。1、引言对于基于互联网的通信应用(比如IM聊天、推送系统),数据传递时使用TCP协议相对较多。这是因为在TCP/IP协议簇的传输层协议中,TCP协议具备可靠的连接、错误重传、拥塞控制等优点,所以目前在应用场景上比UDP更广泛一些。相信你也一定听闻过TCP也存在一些缺点,能常都是老生常谈的开销要略大。但是各路技术博客里都在单单说开销....

不为人知的网络编程(十一):从底层入手,深度分析TCP连接耗时的秘密
文章 2022-04-16 来自:开发者社区

网络协议系列之十:TCP连接的建立与释放

TCP连接的建立(三次握手) 1> 客户端发送(主动)一个SYN给服务端(相当于告诉服务端,我要打开连接了,你注意一下)。客户端的状态变化:CLOSED–> SYN_SENT,服务端状态变化:CLOSED–>LISTEN; 2> 服务端收到SYN报文,发送SYN+ACK两个报文给客户端,其中ACK报文是对客户端发来的SYN报文的确认(相当于告诉客户端,我收到你...

文章 2022-04-15 来自:开发者社区

高性能网络编程7–tcp连接的内存使用

作者:陶辉 当服务器的并发TCP连接数以十万计时,我们就会对一个TCP连接在操作系统内核上消耗的内存多少感兴趣。socket编程方法提供了SO_SNDBUF、SO_RCVBUF这样的接口来设置连接的读写缓存,linux上还提供了以下系统级的配置来整体设置服务器上的TCP内存使用,但这些配置看名字却有些互相冲突、概念模糊的感觉,如下(sysctl -a命令可以查看这些配置): [cpp] ...

文章 2022-04-15 来自:开发者社区

高性能网络编程4–TCP连接的关闭

作者:陶辉 TCP连接的关闭有两个方法close和shutdown,这篇文章将尽量精简的说明它们分别做了些什么。 为方便阅读,我们可以带着以下5个问题来阅读本文: 1、当socket被多进程或者多线程共享时,关闭连接时有何区别? 2、关连接时,若连接上有来自对端的还未处理的消息,会怎么处理? 3、关连接时,若连接上有本进程待发送却未来得及发送出的消息,又会怎么处理? 4、so_linger这个功....

文章 2022-03-16 来自:开发者社区

不为人知的网络编程(十四):拔掉网线再插上,TCP连接还在吗?一文即懂!

本文由作者小林coding分享,来自公号“小林coding”,有修订和改动。1、引言说到TCP协议,对于从事即时通讯/IM这方面应用的开发者们来说,再熟悉不过了。随着对TCP理解的越来越深入,很多曾今碰到过但没时间深入探究的TCP技术概念或疑问,现在是时候回头来恶补一下了。本篇文章,我们就从系统层面深入地探讨一个有趣的TCP技术问题:拔掉网线后,再插上,原本的这条TCP连接还在吗?或者说它还“好....

不为人知的网络编程(十四):拔掉网线再插上,TCP连接还在吗?一文即懂!
文章 2022-02-16 来自:开发者社区

【计算机网络】TCP通信的细节及TCP连接对HTTP事务处理性能影响

从三次握手的细节说起 刚开始尝试使用java等后端语言写IO流,或用套接字(socket)实现简单C/S通信的同学们,常常会接触到的一个概念:就是所谓的“三次握手”,socket作为一个API接口,封装了TCP/IP通信的细节,使我们只需要调用简单的接口而无需关心具体的实现,那么 Socket三次握手的细节是如何实现的? 三次握手的过程实际上就是相互抛/接(3次)包的过程 三次握手的过程: 客.....

文章 2022-02-16 来自:开发者社区

一种在网络层清理机器假死时TCP连接的方案介绍

一、背景   假如应用服务器A上有若干模块连接某数据库服务机器B,当B异常假死,需要将B的请求切换到备份系统,这样已经建立的连接就遗留了下来。如果A上hang住的连接占用的服务线程较多,就可能造成业务系统受到影响,因此需要即时清理掉hang住的连接。 二、问题分析   出现问题时需要快速释放hang住的连接,我们可能用那些方式来解决呢?   1,重启假死的机器:受限于响应速度、需要承担重启机器的....

文章 2022-02-16 来自:开发者社区

网络编程释疑之:单台服务器上的并发TCP连接数可以有多少

曾几何时我们还在寻求网络编程中C10K问题的解决方案,但是现在从硬件和操作系统支持来看单台服务器支持上万并发连接已经没有多少挑战性了。我们先假设单台服务器最多只能支持万级并发连接,其实对绝大多数应用来说已经远远足够了,但是对于一些拥有很大用户基数的互联网公司,往往面临的并发连接数是百万,千万,甚至腾讯的上亿(注:QQ默认用的UDP协议)。虽然现在的集群,分布式技术可以为我们将并发负载分担在多台服....

文章 2022-02-16 来自:开发者社区

网络编程释疑之:TCP连接拔掉网线后会发生什么

背景:前些天团队在进行终端设备和服务器端长连接业务的测试时,发现了这么一个情况:在拔掉设备端的网线后,再插上网线,有时可以继续正常的进行长接连请求,而且用的还是拔掉网线之前的那个长连接。但是有时却不能继续正常的长连接请求,需要重新建立一个新的长连接。让我尤感诧异的是第一种网线断开再插上后长连接可以恢复的情况,彻底颠覆了我一直抱有的一个所谓的“物理连接”的观念。究竟怎么回事,我们来探个究竟。 首.....

本页面内关键词为智能算法引擎基于机器学习所生成,如有任何问题,可在页面下方点击"联系我们"与我们沟通。

产品推荐

域名解析DNS

关注DNS行业趋势、技术、标准、产品和最佳实践,连接国内外相关技术社群信息,追踪业内DNS产品动态,加强信息共享,欢迎大家关注、推荐和投稿。

+关注