其实最开始我们已经总结了两者的不同 socket在阻塞和非阻塞下sendreceive的区别 - socket在阻塞和非阻塞下sendreceive的区别,但还不够底层,下面让我们深入底层来聊聊两者的区别:首先需要强调的是send()本质上并不是把数据丢到网络上进行发送。而是把应用层的发送缓冲区的数据拷贝到内核缓冲区(网卡缓冲区),至于什么时候数据会从网卡缓 …
socket recv函数
一、概念介绍(1)阻塞(blocking)、非阻塞(non-blocking):可以简单理解为需要做一件事能不能立即得到返回应答,如果不能立即获得返回,需要等待,那就阻塞了(进程或线程就阻塞在那了,不能做其它事情),否则就可以理解为非阻塞(在等待的过程中可以做其它事情)。(2)同步(synchronous)、异步(asynchronous): 你总是做完一件 …
1.概述串口转以太网目前可以采用串口转以太网模块来实现,变得非常简单易用,但是在该技术中出现的一些新问题、使用误区需要引起注意。串口转以太网并不是简单传输媒介的变化,而是串口到TCPIP的协议转化。其中关系到的关键技术包括:TCPIP的工作模式问题、串口分帧技术、9位技术。这里详细分析这些串口转网口的技术。2.澄清一个概念:到底是串口转以太网还是串口转TCP …
前言随着eBPF推出,由于具有高性能、高扩展、安全性等优势,目前已经在网络、安全、可观察等领域广泛应用,同时也诞生了许多优秀的开源项目,如Cilium、Pixie等,而iLogtail 作为阿里内外千万实例可观测数据的采集器,eBPF 网络可观测特性也预计会在未来8月发布。下文主要基于eBPF观测HTTP 1、HTTP 1.1以及HTTP2的角度介绍eBPF …
recv函数用于socket通信中接收消息,接口定义如下:int recv(SOCKET s, char* buf, int buflen, int flags);参数1:指定接收端套接字描述符参数2:指向一个缓冲区,该缓冲区用来存放recv函数接收到的数据参数3:指明buf的长度参数4:一般设置为0返回值:失败时,返回值小于0,超时或对端主动关闭 返回值等 …