当前位置: 首页 > news >正文

套接字编程函数recv和send ,以及设置reuseaddress

recv就是去套接字读缓冲区读数据

阻塞模式下:读缓冲区没数据那就阻塞等待,若等待被打断返回-1设置errno为EINTR

非阻塞模式下:读缓冲区没数据那就返回-1,设置errno为EAGAIN或EWOULDBLOCK。

若连接断开返回0,读取成功返回读取数据字节数

send就是去套接字写缓冲区写数据

阻塞模式下:写缓冲区满了那就阻塞等待,若等待被打断返回-1设置errno为EINTR

非阻塞模式下:写缓冲区满了那就返回-1,设置errno为EAGAIN或EWOULDBLOCK。

若连接断开返回0,写成功返回写的数据字节数

int setsockopt(int sockfd, int level, int optname, const void *optval, socklen_t optlen);

level设为SOL_SOCKET,表示设置的是套接字层

optname设为SO_REUSEADDR或SO_REUSEPORT

这都没问题,我想说的是

设置地址复用要在bind前,这样绑定的时候才能复用已经被占用的地址

http://www.dtcms.com/a/115222.html

相关文章:

  • 《星环之城:量子迷雾下的网络安全战记》
  • C++中如何在一个字符串的结尾添加字符或者字符串--append()函数实现
  • Redis基础知识
  • 12-产品经理-维护模块
  • verilog学习--1、语言要素
  • 深挖 TypeScript 基础数据类型:应用与陷阱
  • 使用 `pandas` 库来读取 Excel 文件,并实现六种算法的遍历计算
  • 算法——整数规格化
  • 需求分析-用例图绘制、流程图绘制
  • 在Hive中,将数据从一个表查询并插入到另一个表
  • pulsar中的延迟队列使用详解
  • Golang系列 - 内存对齐
  • Linux中用gdb查看coredump文件
  • eprime相嵌模式实验设计
  • 【Linux内核】如何更加优雅阅读Linux内核源码(vscode)
  • Seata TCC模式是怎么实现的?
  • 国内外AI大模型汇总合集-文本类
  • NLP 梳理01 — 文本预处理和分词
  • 软件测试的本质:方法、流程与未来趋势
  • Cocos Creator 进行 Web 发布后,目录结构解析
  • AIP-215 API特定proto
  • 【MySQL基础】MySQL内连接(INNER JOIN)详解:高效关联查询的基础
  • 数字人:从科幻走向现实的未来(1/10)
  • 11-产品经理-创建产品
  • ProfibusDP(主站)如何转Profinet
  • 【图像处理基石】什么是自动曝光(AE)?
  • AtCoder Beginner Contest 400(ABCDE)
  • 虚拟机安装遇到的问题如:Exception 0xc0000005
  • 通俗地讲述DDD的设计
  • SQL注入-盲注靶场实战(手写盲注payload)--SRC获得库名即可