菜鸟笔记
提升您的技术认知

tcp/ip 笔记-ag真人游戏

tcp和udp编程区别

菜鸟阅读 : 930

tcp和udp编程区别 tcp编程的服务器端一般步骤是:   1、创建一个socket,用函数socket();   2、设置socket属性,用函数setsockopt(); * 可选   3、绑定ip地址、...

udp和tcp协议区别?

菜鸟阅读 : 905

我们说说tcp/ip协议中传输层的两个协议:tcp,udp 1、udp:(如发短信)udp就像是手机发短信一样,不需要对方和你事先是否连接,不管对方目前在干什么,状态是怎样的,都不关心。直接就填好短信(数据)接收的电话号码(ip地址),然后...

如何判断一个socket连接是否已经断开

菜鸟阅读 : 968

1. 根据errno和recv结果进行判断 在unix/linux下,非阻塞模式socket可以采用recv msg_peek的方式进行判断,其中msg_peek保证了仅仅进行状态判断,而不影响数据接收 对于主动关闭的socket, rec...

判断非阻塞socket是否已经断开的几种方法

菜鸟阅读 : 838

判断非阻塞socket是否已经断开的几种方法   注意要区分不同操作系统分别进行测试, 包括windows, linux和unix会各有不同   在windows下比较简单,可以使用fd_close事件判断socket是...

检查非正常断开的tcp连接

菜鸟阅读 : 1018

tcp是面向连接的,在实际应用中通常都需要检测连接是否还可用.如果不可用,可分为: a. 连接的对端正常关闭. b. 连接的对端非正常关闭,这包括对端设备掉电,程序崩溃,网络被中断等.这种情况是不能也无法通知对端的,所以连接会一直存在,浪费...

tcp socket如何判断连接断开

菜鸟阅读 : 1206

  1、socket so_keepalive不能取代心跳线程的原因 (1)so_keepalive是系统底层的机制,用于系统维护每一个tcp连接的。 (2)心跳线程属于应用层,主要用于终端和服务器连接的检查。 &nbs...

四次挥手中time_wait,close_wait,fin_wait_1,fin_wait_2状态浅析

菜鸟阅读 : 1180

先给出四次挥手过程中c/s的状态变化示意图。有了图理解起来就容易许多。 time_wait 表示主动关闭,close_wait 表示被动关闭。 close_wait状态的生成原因 首先我们知道,如果ag真人游戏的服务器程序apache处于close...

为什么需要四次挥手

菜鸟阅读 : 1371

当客户端和服务器通过三次握手建立了tcp连接以后,当数据传送完毕,肯定是要断开tcp连接的啊。那对于tcp的断开连接,这里就有了神秘的“四次挥手”。 第一次挥手:主机1(可以使客户端,也可以是服务器端),设置sequence number和...

tcp性能优化之避免大量握手

菜鸟阅读 : 671

这个标题看起来可能有点笼统,请大家谅解:)先说说这个优化场景,和《tcp性能优化之避免慢启动》是一个场景。 问题的起因 在海量用户高并发访问的大型网站后台,有一些基本的系统维护需求。比如迁移海量小文件,就是从一些机器拷贝海量小碎文件到另一些...

tcp性能优化之避免慢启动

菜鸟阅读 : 598

tcp协议中有个慢启动,在《tcp/ip详解卷一》中占据的篇幅很小,但是这个东西,在某些业务场景下,对性能的影响非常大。 什么是慢启动 最初的tcp的实现方式是,在连接建立成功后便会向网络中发送大尺寸的数据包,假如网络出现问题,很多这样的大...