03丨套接字和地址:像电话和电话号码一样理解它们
- accept和connect进行握手
- 收到数据从内核读取到进程
- 半关闭状态下可以支持一方数据的传输
- Http是应用层协议,是基于Tcp socket的实现,websocket是http的增强,利用了Tcp双向的特性,增强了服务器端到客户端的传输能力
04 | TCP三次握手:怎么使用套接字格式建立连接?
- SOCK_STREAM: 表示的是字节流,对应 TCP;
- SOCK_DGRAM: 表示的是数据报,对应 UDP;
- SOCK_RAW: 表示的是原始套接字。
- 非阻塞不等于异步
05 | 使用套接字进行读写:开始交流吧
- 套接字描述符是一种特殊的描述符
- 文件描述符代表打开了文件句柄,通过write函数就可以不断的往系统中写入字节流
- 当 TCP 三次握手成功,TCP 连接成功建立后,操作系统内核会为每一个连接创建配套的基础设施,比如发送缓冲区。
- 发送缓冲区的大小可以通过套接字选项来改变,当我们的应用程序调用 write 函数时,实际所做的事情是把数据从应用程序中拷贝到操作系统内核的发送缓冲区中,并不一定是把数据通过套接字写出去。
- 缓存过大可以吗?消费能力有限会造成大量的积压