socket编程基础
1. socket() —— 创建套接字这是通信的第一步用于向操作系统申请一个网络通信端点即套接字。功能作用创建一个套接字描述符确定使用的协议族如IPv4和传输层协议如TCP。常用参数domain地址族通常填 AF_INET (IPv4) 或 AF_INET6 (IPv6)。type套接字类型TCP使用 SOCK_STREAM流式UDP使用 SOCK_DGRAM数据报。protocol具体协议通常填 0表示根据前两个参数自动选择默认协议。返回值成功返回一个非负整数文件描述符失败返回 -1。2. bind() —— 绑定地址创建套接字后它还没有具体的“身份”需要通过绑定来指定IP和端口。功能作用将套接字与特定的本地IP地址和端口号绑定。对于服务器来说这一步是必须的以便客户端能找到它。常用参数sockfdsocket() 返回的文件描述符。addr指向包含IP地址和端口信息的结构体指针如 struct sockaddr_in。addrlen地址结构体的长度。3. listen() —— 监听连接绑定好地址后服务器需要进入“等待”状态。功能作用将主动套接字转换为被动套接字开始监听来自客户端的连接请求。常用参数sockfd已绑定的套接字描述符。backlog排队等待处理的最大连接数全连接队列长度。如果连接请求过多超出的部分可能会被拒绝。4. accept() —— 接受连接当有客户端发起连接时服务器通过这个函数来处理。功能作用从已完成连接的队列中取出一个连接。关键点它会返回一个新的套接字描述符专门用于与该特定客户端进行数据传输而原来的监听套接字继续负责接收新的连接请求。常用参数sockfd处于监听状态的套接字描述符。addr用于存储客户端地址信息的结构体指针可选。addrlen地址结构体长度的指针可选。5. send()/recv() —— 收发数据建立连接后双方通过这对函数进行实际的数据交换。功能作用send()向对端发送数据。recv()从对端接收数据。常用参数sockfdaccept() 返回的那个新套接字描述符。buf存放数据的缓冲区指针。len数据长度。flags标志位通常填 0。6. close() —— 关闭连接通信结束后释放资源。功能作用关闭套接字断开连接并释放操作系统分配的资源。常用参数sockfd要关闭的套接字描述符。这些函数共同构成了TCP服务器的标准工作流先创建socket再定址bind接着待机listen有人来了就握手accept然后交谈send/recv最后挂断close。这个流程确保了网络通信的有序性和可靠性。

相关新闻

K100_AI两卡全离线部署超长音视频说话人角色确认转录系统(多轮推理)

K100_AI两卡全离线部署超长音视频说话人角色确认转录系统(多轮推理)

一、引言之前我发表的一篇文章https://blog.csdn.net/pla88888888/article/details/162817260(K100_AI两卡全离线部署音视频说话人角色确认转录系统),采用SoulX-Transcriber多模态大模型实现,在实测中发现超长音视频文件分析时会出…

2026/9/30 12:17:01 阅读更多 →
MySQL索引,这回真讲明白了

MySQL索引,这回真讲明白了

数据库慢查询是每个后端都会遇到的问题,而90%的慢查询问题都可以通过合理设计索引来解决。这篇文章不聊深奥的底层原理,从实际使用的角度讲清楚索引。索引到底是什么你可以把索引理解为一本书的目录。没有索引,你要从头翻到尾找内容&#xff…

2026/9/29 22:16:28 阅读更多 →
URA2415LD-15WR3 适配优选 VB15-24D15LD,15W 工业 DC-DC 模块电源参数规格全拆解

URA2415LD-15WR3 适配优选 VB15-24D15LD,15W 工业 DC-DC 模块电源参数规格全拆解

在工业电子整机研发阶段,硬件工程师针对模拟采集、信号变送、伺服控制等电路开展电源方案设计时,15W 等级 24V 输入双路 15V 输出 DC-DC 隔离电源属于高频选用器件。在多品牌、多系列直流电源模块横向筛选过程中,钡特电源 VB15-24D15LD 与 UR…

2026/10/11 0:19:25 阅读更多 →

最新新闻

CangjieMagic jsonable 包深入解析:声明式 JSON 序列化、类型模式与语义约束校验

CangjieMagic jsonable 包深入解析:声明式 JSON 序列化、类型模式与语义约束校验

人工智能大模型AI AgentRAG工具调用MCP 服务MCP Clients多智能体 【免费下载链接】CangjieMagic 基于仓颉编程语言构建的 LLM Agent DSL,其主要特点包括:声明式 DSL、支持 MCP 协议,支持任务智能规划等。 项目地址: https://gitco…

2026/10/14 7:21:37 阅读更多 →
杭州装修暖通系统选择指南:避坑与实用技巧

杭州装修暖通系统选择指南:避坑与实用技巧

1. 装修小白必看:暖通选择为何如此重要在杭州装修过房子的朋友都知道,暖通系统是整个装修过程中最容易踩坑的环节之一。我从业内朋友那里听到过太多血泪史:有人花了大价钱装的地暖冬天不热,有人装的中央空调夏天制冷效果差&#x…

2026/10/14 7:21:37 阅读更多 →
商标权的利用

商标权的利用

商标权的利用商标权的利用是商标法中的一项重要制度,深刻体现了商标权的私权属性。探讨商标权如何在法律框架内实现其经济价值与法律功能。注册商标使用的法律界定与“连续三年不使用撤销制度”;商标权许可的三种类型及其质量控制义务;商标权…

2026/10/14 7:21:37 阅读更多 →
OpenLayers等值线编辑实战:从交互组合到数据导出

OpenLayers等值线编辑实战:从交互组合到数据导出

最近做一个气象灾害可视化项目时,我遇到了一个很典型的需求:后端用插值算法自动生成的等值线,并不能直接上线,业务专家必须手动修正那些不合理弯曲、局部小圈和多线粘连。这一步就落在 openlayers 等值线编辑上。简单说&#xff0…

2026/10/14 7:21:37 阅读更多 →
MATLAB共享储能电站冷热电多微网双层优化配置模型详解

MATLAB共享储能电站冷热电多微网双层优化配置模型详解

先说一句啊,这篇不是那种把模型往纸上一放、公式一抄就完事的论文复现,而是基于“MATLAB共享储能电站服务冷热电多微网系统双层优化配置模型”这条线,把建模思路、求解路线、MATLAB实现细节和踩坑经验一次性捋清楚。如果你想做园区级综合能源…

2026/10/14 7:20:37 阅读更多 →
90天PMP通关攻略:专治拖延症的反人性备考技巧

90天PMP通关攻略:专治拖延症的反人性备考技巧

2026年6月PMP考试:一场与“拖延症”的终极对决!90天通关全攻略(内附反人性备考技巧)如果有人问我,PMP考试难在哪,我大概率会说:难在开始。2026年6月那场考试,我提前90天就买好了教材…

2026/10/14 7:20:37 阅读更多 →

日新闻

AnyPS5通用适配层设计:兼容性与性能的工程取舍

AnyPS5通用适配层设计:兼容性与性能的工程取舍

1. 从"AnyPS5"这个名字说起:它到底想解决什么问题第一次看到"AnyPS5"这个标题,我脑子里冒出来的第一个念头是:这大概率是一个围绕"跨平台运行"或者"通用适配"做文章的项目。名字里的"Any"…

2026/10/14 0:00:41 阅读更多 →
Flutter跨平台开发实战:二手交易应用与HarmonyOS适配

Flutter跨平台开发实战:二手交易应用与HarmonyOS适配

1. 项目概述:Flutter跨平台二手交易应用开发作为一名长期从事移动应用开发的工程师,我最近完成了一个基于Flutter框架的二手物品交易平台项目。这个项目最吸引我的地方在于它完美结合了Flutter的跨平台优势与HarmonyOS的生态特性,实现了"…

2026/10/14 0:00:41 阅读更多 →
DFS算法解决飞机降落调度问题实战

DFS算法解决飞机降落调度问题实战

1. 项目背景与核心思路飞机降落问题是一个经典的调度优化场景,也是算法竞赛和面试中的高频题目。这个题目要求我们合理安排多架飞机的降落顺序和时间,确保所有飞机都能安全着陆而不发生冲突。在实际航空管制中,这类问题直接关系到飞行安全和机…

2026/10/14 0:00:41 阅读更多 →

周新闻

流感时间序列预测实战:ARIMA/LSTM全流程拆解与避坑指南

流感时间序列预测实战:ARIMA/LSTM全流程拆解与避坑指南

简介:基于 ARIMA、LSTM、Transformer 等模型的流感时间序列预测 Python 源码,面向计算机相关专业课程设计与期末大作业学生,以及项目实战学习者。内容覆盖预处理、平稳性检验、定阶、残差分析、多模型对比预测的完整时序建模流程,…

2026/10/14 3:30:28 阅读更多 →
影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别

影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别

影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别 做影刀RPA自动化,十个新手有八个栽在"往输入框里填东西"这件事上:要么填不进去,要么填了一半,要么直接把原来内容追加在后面。这背后的根因&…

2026/10/13 16:22:04 阅读更多 →
影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容

影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容

影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容 1. 认识影刀:什么场景该用RPA采小说数据 起点中文网的页面结构相对稳定——分类榜单、书籍详情、章节内容三块独立页面,跳转链路清晰。这种场景非常适合影刀自动化&#x…

2026/10/14 3:29:58 阅读更多 →

月新闻

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/13 22:01:27 阅读更多 →
Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/13 14:57:39 阅读更多 →
黑夜航拍船只数据集训练YOLOV5模型全流程解析

黑夜航拍船只数据集训练YOLOV5模型全流程解析

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/12 18:11:17 阅读更多 →