遇到的问题
平台下载文件失败,服务端日志打印,发现是send时,报错,日志里打印了errno 104。
原因
与平台约定的每次发送16kb大小的数据,平台设置的也是16kb的缓冲区,但是实际上是16kb+1b,因为还有个字符串结束符\0。所以导致出现问题。
扩展
C 库宏 extern int errno 是通过系统调用设置的,在错误事件中的某些库函数表明了什么发生了错误。
errno 是 C 标准库中的一个宏,定义在 <errno.h> 头文件中。它用于指示在程序运行过程中发生的错误。errno 实际上是一个整数变量,用于存储错误代码。库函数在发生错误时,会设置 errno 为适当的错误代码,以便程序可以检查和处理这些错误。