杉杉来啦
杉杉来啦
全部文章
网络编程
C++做题笔记(22)
C++读书笔记(22)
Leetcode(4)
Linux(1)
MySQL(28)
Redis(1)
副本(2)
工具安装配置(2)
操作系统(2)
硬件结构(7)
算法(5)
读书笔记(7)
资源链接(1)
面试(1)
面试八股(5)
项目技术总结(1)
归档
标签
去牛客网
登录
/
注册
杉杉来啦的博客
全部文章
/ 网络编程
(共13篇)
(13) 如何理解TCP的“流”?
来自专栏
TCP 是一种流式协议 在发送端,当调用 send 函数完成数据“发送”以后,数据并没有被真正从网络上发送出去,只是从应用程序拷贝到了 操作系统内核协议栈中,至于什么时候真正被发送,取决于发送窗口、拥塞窗口以及当前发送缓冲区的大小等条件。 也就是说,不能假设每次 send 调用发送的数据...
2022-03-03
0
610
(12) 怎么老是出现 “地址已经被使用” ?
来自专栏
在实战中,可能会经常碰到一个问题,当服务器端程序重启之后,总是碰到“Address in use”的报错信息,服务器程序不能很快地重启。 从例子开始 这个TCP服务器端程序绑定到一个本地端口,使用的是通配地址 ANY,当连接建立之后,从该连接中读取输入的字符流。 static&nbs...
2022-03-03
0
669
(11) UDP也可以是“已连接”
来自专栏
从一个例子开始 客户端在 UDP 套接字上调用 connect 函数,之后将标准输入的字符串发送到服务器端,并从服务器端接收处理后的报文。 #include "lib/common.h" # define MAXLINE&n...
2022-03-03
0
458
(10) 小数据包应对之策
来自专栏
调用数据发送接口以后的事 比如使用 write 或者 send 方法来进行数据流的发送。调用这些接口并不意味着 数据被真正发送到网络上,其实,这些数据只是从应用程序中被拷贝到了 系统内核的套接字缓冲区中,或者说是发送缓冲区中,等待协议栈的处理。至于这些数据是什么时候被发送出去的,对应用程序来说...
2022-03-03
0
591
(9) 连接无效:使用Keep-Alive还是应用心跳来检测?
来自专栏
一个基于 NATS 消息系统的项目,多个消息的提供者 (pub)和订阅者(sub)都连到 NATS 消息系统,通过这个系统来完成消息的投递和订阅处理。 突然有一天,线上报了一个故障,一个流程不能正常处理。经排查,发现消息正确地投递到了 NATS 服务端,但是消息订阅者没有收到该消息,也没...
2022-02-27
0
534
(8) 优雅关闭连接
来自专栏
客户端主动发起连接的中断,将自己到服务器端的数据流方向关闭,此时,客户端不再往服务器端写入数据,服务器端读完客户端数据后就不会再有新的报文到达。 但这并不意味着,TCP 连接已经完全关闭,很有可能的是,服务器端正在对客户端的最后报文进行处理,这个套接字的状态此时是“半关闭”的。 当完成这...
2022-02-27
1
1013
(7) TIME_WAIT
来自专栏
TIME_WAIT 发生的场景 TCP 连接终止时,主机1 先发送 FIN 报文,主机2 进入 CLOSE_WAIT 状态,并发送一个 ACK 应答,同时,主机2 通过 read 调用获得 EOF,并将此结果通知应用程序进行主动关闭操作,发送 FIN 报文。主机1 在接收到 FI...
2022-02-25
2
636
(6) 网络工具
来自专栏
必备工具:ping “ping”这个命名来自于声呐探测,在网络上用来完成对网络连通性的探测。 $ ping www.sina.com.cn PING www.sina.com.cn (202.102.94.124) 56(84)&nb...
2022-02-25
1
574
(5) 本地套接字
来自专栏
实际上,本地套接字是 IPC,也就是本地进程间通信的一种实现方式。除了本地套接字以外,诸如管道、共享内存、消息队列等也是进程间通信的常用方法,但因为本地套接字开发便捷,接受度高,所以普遍适用于在同一台主机上进程间通信的各种场景。 (1) 本地套接字概述 本地套接字是一种特殊类型...
2022-02-24
1
535
(4) UDP
来自专栏
UDP 和 TCP 之间最大的区别: TCP 是一个面向连接的协议,TCP 在 IP 报文的基础上,增加了诸如重传、确认、有序传输、拥塞控制等能力,通信的双方是在一个确定的上下文中工作的。 UDP 是一个面向报文的协议,UDP 没有这样一个确定的上下文,它是一个不可靠的通信协议,没有重...
2022-02-23
1
633
首页
上一页
1
2
下一页
末页