Socket
文章平均质量分 62
kelvinol
这个作者很懒,什么都没留下…
展开
-
leetcode 101
原创 2022-04-13 20:48:19 · 127 阅读 · 0 评论 -
网络编程三:粘包与分包
1 产生原因1.1 TCP由于TCP协议本身的机制(面向连接的可靠地协议-三次握手机制)客户端与服务器会维持一个连接(Channel),数据在连接不断开的情况下,可以持续不断地将多个数据包发往服务器,但是如果发送的网络数据包太小,那么他本身会启用Nagle算法(可配置是否启用)对较小的数据包进行合并然后再发送(超时或者包大小足够)。在socket中的实现为缓冲区。如果一次请求发送的数据量比较小,没达到缓冲区大小,TCP则会将多个请求合并为同一个请求进行发送,这就形成了粘包问题。如果一次请原创 2021-07-23 15:45:08 · 279 阅读 · 0 评论 -
网络编程二:建立socket通信
1 socket通信流程图2 流程图解释 2.1 服务器先建立soket,通过bind函数绑定需要监听的端口号。 2.2 调用listen函数服务器端进入LISTEN状态,并且阻塞当前线程,直到有客户端的连接。 2.3 客户端建立soket,调用connet函数像服务器请求连接客服端>>>SYN,Seq:1000(随机产生)>>>服务器...原创 2021-07-23 14:44:05 · 712 阅读 · 0 评论 -
网络编程一:初识Socket
1 Socket是什么Socket是网络中不同主机上的应用进程之间进行双向通信的端点的抽象。我的理解Socket是网络通信的一种中间件,使得我们开发人员只用关心数据的传输,不用考虑两端连接的具体实现。2 Socket如何实现网络通信要搞懂Socket是如何通信的,得先理解网络中进程是如何通信的。2.1 本地进程间通信匿名管道(Pipe):管道是一种半双工的通信方式,数据只能单向流动,而且只能在具有亲缘关系的进程间使用。进程的亲缘关系通常是指父子进程关系。 高级管道(Popen)原创 2021-07-23 13:17:44 · 270 阅读 · 0 评论