上一页 1 ··· 13 14 15 16 17 18 19 20 21 ··· 41 下一页
摘要: ###故障模式总结 异常情况可归结为两大类: 第一类,是对端无FIN包发送出来的情况;第二类是对端有FIN包发出来 ###对端无FIN包发送出 网络终端造成对端无FIN包 很多原因都会造成网络中断,这种情况,TCP程序并不能及时感知异常信息。除非网络中的其他设备,如路由器发送出一条ICMP报文,说明 阅读全文
posted @ 2022-03-19 22:18 牛犁heart 阅读(481) 评论(0) 推荐(1) 编辑
摘要: ###TCP是一种流式协议 TCP数据是流式的特性,可分别从发送端和接收端来阐述 发送端:当调用send函数完成数据“发送”后,数据并没有真正从网络上发送出去,只是从应用程序拷贝到了操作系统内核协议栈中,至于什么时候发送,取决于发送窗口、拥塞窗口以及当前发送缓冲区的大小等条件,也就是说,不能假设每次 阅读全文
posted @ 2022-03-18 23:30 牛犁heart 阅读(375) 评论(0) 推荐(0) 编辑
摘要: ###问题 当通过服务端发起的关闭连接操作,引发了一个已有的TCP连接处于TIME_WAIT状态,此时,服务器重启,继续绑定原来ip与端口号,返回了Address already in use的错误。 ###重用套接字选项 一个TCP连接时通过四元组(源地址、源端口、目的地址、目的端口)来唯一确定。 阅读全文
posted @ 2022-03-18 00:12 牛犁heart 阅读(567) 评论(0) 推荐(0) 编辑
摘要: ###UDP connect的作用 UDP connect函数的调用,并不会引起像TCP连接那样,和服务器目标端网络交互,并不会触发所谓的“握手”报文发送和应答。 UDP套接字进行connect操作其主要是为了让应用程序能够接受“异步错误”的信息。 在udp编程中,如果不调用connect操作的客户 阅读全文
posted @ 2022-03-15 23:56 牛犁heart 阅读(1313) 评论(0) 推荐(0) 编辑
摘要: 从TCP角度看待数据流的发送和接收。 ###调用数据发送接口后,发生了什么呢? 调用这些send/write等接口并不意味着数据被真正发送到网络上,其实这些数据只是从应用程序中被拷贝到了系统内核的套接字缓冲区中,或者说是发送缓冲区中,等待协议栈的处理,什么时候发送出去?有操作系统内核的TCP协议栈来 阅读全文
posted @ 2022-03-14 00:05 牛犁heart 阅读(270) 评论(0) 推荐(0) 编辑
摘要: 心跳检测-gateway-worker手册 ###为什么需要心跳检测? 正常的情况客户端断开连接会向服务端发送一个fin包,服务端收到fin包后得知客户端连接断开,则立刻触发onClose事件回调。 但是有些极端情况如客户端掉电、网络关闭、拔网线、路由故障等,这些极端情况客户端无法发送fin包给服务 阅读全文
posted @ 2022-03-13 22:26 牛犁heart 阅读(1013) 评论(0) 推荐(0) 编辑
摘要: 参考:盛延敏:网络编程实战 ####一、close函数 close函数: int close(int sockfd) 对已连接的套接字执行 close 操作就可以,若成功则为 0,若出错则为 -1。这个函数会对套接字引用计数减一,一旦发现套接字引用计数到 0,就会对套接字进行彻底释放,并且会关闭 T 阅读全文
posted @ 2022-03-09 22:03 牛犁heart 阅读(264) 评论(0) 推荐(0) 编辑
摘要: ###一、TIME_WAIT 1、TIME_WAIT发生的场景 **故障:**一次升级线上应用服务后,发现该服务的可用性时好时坏,一段时间可以对外提供服务,一段时间突然又不可以了。使用netstat命令发现主机有成千上万处于TIME_WAIT状态的连接。 **为啥?**该应用服务需要通过发起TCP连 阅读全文
posted @ 2022-03-08 23:50 牛犁heart 阅读(192) 评论(0) 推荐(0) 编辑
摘要: 一、介绍 本地套接字是IPC, 即本地进程间通信的一种实现方式。出来本地套接字以外,其他技术,如管道、共享信息队列等也是进程间通信的常用方法。但因为本地套接字开发便捷,接受度高,所以普遍适用于同一台主机上进程间通信的各种场景。 利用本地套接字可完成可靠字节流和数据报两种协议。 PS: 可通过nets 阅读全文
posted @ 2022-03-07 00:11 牛犁heart 阅读(736) 评论(0) 推荐(0) 编辑
摘要: 参考:盛延敏:网络编程实战 一、UDP和TCP的不同 UDP 是一种“数据报”协议,而 TCP 是一种面向连接的“数据流”协议。 TCP 是一个面向连接的协议,TCP 在 IP 报文的基础上,增加了诸如重传、确认、有序传输、拥塞控制等能力,通信的双方是在一个确定的上下文中工作的。而 UDP 则不同, 阅读全文
posted @ 2022-03-01 23:20 牛犁heart 阅读(135) 评论(0) 推荐(0) 编辑
上一页 1 ··· 13 14 15 16 17 18 19 20 21 ··· 41 下一页