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

12、Windows Sockets编程:OOB数据与WinSock扩展详解

Windows Sockets编程:OOB数据与WinSock扩展详解

1. OOB数据通信

OOB(Out-of-Band)数据可用于传达异常状况,如用户按下<control><c>,同时正常的数据传输则通过常规通道进行。不过,Microsoft Windows Sockets文档建议,除非绝对必要,应用程序不应使用OOB数据。这一建议的原因在于,RFC 793中首次定义的OOB数据语义与Berkeley Software Distribution中的实现有所不同,而BSD的实现又与RFC 1122中定义的实现说明存在差异。此外,Windows NT仅支持一个字节的OOB数据,并非RFC 793中设想的第二个通道。

OOB数据只能在流式套接字上发送和接收。要实现这一点,需在send()recv()函数的标志参数中指定MSG_OOB。接收方通过调用ioctlsocket()API来检测OOB数据的到达。一旦OOB数据到达,接收方有两种处理方式:
- 检查OOB数据,但不将其从套接字缓冲区中移除。
- 使用recv()函数读取带外数据,该函数会将数据从套接字缓冲区中移除。

第一种方式使接收方能够判断带外数据的价值。若接收方确定必须立即处理该数据,可调用recv()函数将带外数据从套接字流中移除。接收方也可选择忽略发送方所认为的消息优先级,稍后再处理。通常,OOB接收方会设置MSG_OOB

http://www.cnnetsun.cn/news/149505.html

相关文章:

  • 13、Windows Sockets编程:连接管理、互操作性与服务实现
  • 如何用AI自动修复Python的Deprecation Warning?
  • 24、网络编程接口与NetBIOS系统特性及Windows Sockets组播功能解析
  • AI如何帮你10分钟搭建一个完整网站?
  • 小白必看:ERR_UNSAFE_PORT错误完全解决指南
  • FaceFusion镜像搭配高性能GPU实例推荐配置
  • 零基础入门:5分钟学会用JSBarcode创建条形码
  • 解密Brush:为什么高斯泼溅技术正在重塑3D重建的未来?
  • Docker Registry优化:存储空间节省50%的实用技巧
  • AI如何帮你解决VC++运行库缺失问题?
  • FaceFusion镜像支持分布式集群部署方案
  • Budibase应用性能优化7大核心策略:如何实现大规模应用加载速度300%提升
  • 创芯科技USB-Can分析仪驱动使用全攻略
  • TransmittableThreadLocal深度剖析:Java异步编程的上下文传递终极解决方案
  • 小白必看:‘no route to host‘错误完全指南
  • FaceFusion镜像支持断点续传:长时间任务不中断
  • P+F温度变送器组态软件Windows 10版完整使用指南
  • pgAdmin4服务器连接配置终极指南:从零基础到精通
  • 用AI自动优化Homebrew更新频率,提升开发效率
  • 电商系统JWT认证失败实战:解决缺少分隔点问题
  • ADB工具安装终极指南:15秒搞定USB调试驱动一键安装
  • 5分钟用WebUploader搭建文件上传原型
  • 网络大会聚焦信息检索与多模态AI技术
  • 15分钟搞定:用快马平台构建Homebrew更新管理原型
  • 生成式AI vs 预测式AI:揭秘人工智能领域的两大技术
  • 如何通过FaceFusion实现高质量的人脸表情迁移?
  • 10倍性能提升!Loki TSDB引擎如何重构日志索引体系
  • FaceFusion在直播场景中实现AI换脸的可能性探讨
  • 揭秘Open-AutoGLM黑科技:如何一键完成百份办公文档智能分类与转换
  • seL4微内核:构建物联网安全的终极解决方案