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

Socket 编程必修课:Bind 函数与地址结构体的奥秘

各类资料学习下载合集
链接:https://pan.quark.cn/s/7c8c391011eb

一、 为什么必须 Bind?

在 TCP 通信中,服务器的角色就像是一家实体店

  • Socket:相当于你注册了营业执照。
  • Bind:相当于你租下了一个具体的门面(IP + 端口)。

如果你不开店(不 Bind),虽然你也可以去逛街(作为客户端连接别人),但顾客(客户端)永远找不到你在哪里。因此,服务器必须绑定固定的 IP 和端口


二、 结构体的“变装秀”:sockaddrvssockaddr_in

这是 Socket 编程中最让新手困惑的地方:为什么有两个地址结构体?

1. 历史遗留问题

bind函数设计之初,是为了支持所有协议(IPv4, IPv6, UNIX 域等)。因此,它的参数类型是通用的struct sockaddr*

2. 内存布局对比

为了方便程序员操作,针对 IPv4 协议,系统提供了专用的struct sockaddr_in。好消息是,它们在内存中的大小完全一样(16字节),可以直接强转。

字节偏移struct sockaddr(通用)struct sockaddr_in(IPv4专用)
0 - 1sa_family(地址族)sin_family(地址族,如 AF_INET)
2 - 3sa_data(混合数据)sin_port(端口号)
4 - 7sin_addr(IP地址)
8 - 15sin_zero(填充字节,为了凑齐16字节)

最佳实践:我们在代码中定义和填充sockaddr_in,但在调用bind时,将其强制类型转换为sockaddr*


三、 Bind 函数详解

intbind(intsockfd,conststructsockaddr*addr,socklen_taddrlen);
  • 参数 1 (sockfd):通过socket()创建的文件描述符。
  • 参数 2 (addr):指向地址结构体的指针(需强转)。
  • 参数 3 (addrlen):结构体的大小,通常写sizeof(struct sockaddr_in)

常用写法模板

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

相关文章:

  • 老年人防跌倒系统:骨骼点检测云端方案,月成本<500
  • AI手势识别如何应对复杂背景?抗干扰部署实战
  • MediaPipe Hands企业方案:会议手势控制系统设计
  • Mac百度网盘3步极速下载方案:告别限速困扰的技术指南
  • 没N卡也能畅玩:Z-Image跨平台云端方案
  • MediaPipe姿势检测实战:云端GPU 10分钟出结果,新手友好
  • SGMICRO圣邦微 SGM6607YTN6G/TR SOT23-6 模拟开关/多路复用器
  • 3分钟快速解锁加密音乐文件:Unlock Music完整使用教程
  • AI手势识别工具推荐:支持WebUI交互的免配置镜像使用指南
  • RevokeMsgPatcher防撤回工具完整教程:3步实现微信QQ消息永久保留
  • Windows系统优化神器:5步快速提升电脑性能的终极指南
  • Blender建筑生成终极指南:效率翻倍的building_tools实战秘籍
  • MediaPipe Hands性能优化:减少延迟的5种方法
  • Path of Building完整教程:从零开始掌握流放之路最强构筑模拟器
  • 胡桃工具箱完全指南:从零开始掌握原神数据管理的专业工具
  • RuoYi-Flowable工作流管理系统快速部署实战指南:3分钟环境检查+一键配置
  • Windows性能调优实战:RyTuneX系统优化全解析
  • 从零搭建低代码表单引擎(企业级实践全流程拆解)
  • 网关数据转发失败率居高不下?这5种典型场景你必须掌握!
  • 建筑生成技术革新:building_tools如何重塑Blender建筑设计生态
  • 终极岛屿规划工具:从新手到专家的完整指南
  • 为什么你的智能合约总在对接时失败?这4个关键点你必须掌握
  • 快速解锁加密音乐:Unlock Music浏览器工具完整指南
  • MediaPipe Hands彩虹骨骼
  • 没预算玩AI?Z-Image云端1元体验,学生认证再减半
  • Windows 11右键菜单终极定制指南:快速打造个性化高效操作界面
  • DeepSeek V3.2深度解析:三点关键技术助你高效使用大模型
  • 2026年程序员最值得入局的5大高薪赛道,大模型人才薪资领跑全行业!在上海,2026年这些职业最吃香!大量人才需求
  • 5个最火AI绘画模型对比:Z-Image云端实测,10块钱全试遍
  • 职场人 / 学生党集合!2026 + 未来 10 大高薪行业,你最想冲 AI、芯片还是网安?评论区聊!