news 2026/9/3 6:50:17

Linux之socket编程(四)----Tcp

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
Linux之socket编程(四)----Tcp

Tcp

tcp进行网络通信在很多部分和udp通信时很相似的

大纲

init

初始化和udp很相似

就是socket的第二个参数时sock_stream

除了上面这些

litsen

Tcp依然还需要litsen接口

监听就是有点像接电话,有人打进来电话你就要接

start

accept

accept的返回值是有些不同的,相对于udp里面的recvfrom

要是获取成功会返回一个文件描述符

我们接下来区分一下这两个描述符

  • 监听 fd = 门口专门负责接客的拉客小哥

小哥只干一件事:接待刚走完完整握手流程的客人,他不陪客人吃饭聊天,不点菜。 小哥站在门口,只看【等候椅子】。

  • cfd(accept 返回的文件描述符) = 专属服务员,每来一组客人,就分配一个全新专属服务员,专门对接这一桌客人,点菜、上菜、聊天收发数据全部由这个服务员完成。

接下来再处理sockfd

为了做到回显的效果

用read读

用write来写,做到回显的效果

客户端

服务端:开店 (bind)→开门迎客 (listen)→接待客人 (accept)

客户端:我要主动出门,去找那家店(服务端)

第 1 步:main 入口,参数怎么设计?

客户端需要知道两件事:服务端 IP、服务端端口,才能找过去。

让客户自己传入相关的参数

第 2 步:创建 socket 文件描述符

客户端同样先要调用socket()

注意tcp这里第二个参数是sock_stream

第 3 步:填充服务端的 sockaddr_in 结构体

⚠️注意!!这里填的是服务端的地址信息,不是自己的!(和服务端 bind 完全不一样) 服务端 bind 填自己的地址;客户端 connect 结构体填对方(服务器)。

这里用我们自己封装的类来实现

第 4 步:调用 connect () —— 客户端核心函数

第 5 步:连接成功之后干什么?业务逻辑

客户将自己要传达的信息写道sockfd

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/9/3 6:49:03

无线耳机固件升级全解析:从文件名解读到升级后优化

简介:本资源是JieLi(杰理)AC701n系列耳塞主控芯片JL701n的官方固件升级包v162,面向嵌入式音频设备开发者、固件工程师及硬件调试人员,用于完成耳塞产品的固件烧录、功能验证与ANC/LC3/Opus等音频特性适配。压缩包共124…

作者头像 李华
网站建设 2026/9/3 6:47:40

人才画像系统前端设计:业务驱动的信息决策架构

简介:本资源是一套基于Vue框架开发的人才画像系统前端页面设计源码,面向企业HR系统开发者、教育机构信息化建设人员及中高级前端工程师,聚焦人才技能、经验与行为特质的可视化呈现与交互管理,有效支撑招聘评估、梯队培养与岗位匹配…

作者头像 李华
网站建设 2026/9/3 6:47:31

AI Chat长回复流式渲染优化:从卡顿到4倍提速

最近在梳理 AI Chat 类产品的前端体验时,我重点盯了一个场景:Claude 网页版和桌面端在生成长回复时的流式渲染效果。从用户视角看,模型生成内容的等待时间已经明显变短,但页面上的文本却经常出现“打字机不连贯、代码块闪烁、长回…

作者头像 李华
网站建设 2026/9/3 6:46:54

三电平SVPWM仿真原理与工程实践:MATLAB/Simulink全链路实现

简介:本资源是一份面向电力电子与电机控制方向初学者及课程设计者的MATLAB仿真实践材料,聚焦三电平逆变器中空间矢量脉宽调制(SVPWM)策略的原理验证与波形分析。资源解决的核心问题是:如何在MATLAB中构建可运行、可调试…

作者头像 李华
网站建设 2026/9/3 6:43:27

《我的世界》整合包安装与联机全攻略:从环境配置到服务器搭建

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

作者头像 李华
网站建设 2026/9/3 6:42:39

STM32+FreeRTOS+cJSON嵌入式物联网终端开发实战

简介:本资源是一套面向电子信息、计算机及自动化等专业本科生的毕业设计与课程设计实战案例,聚焦基于STM32的物联网智能头盔系统开发,覆盖嵌入式硬件、RTOS实时控制、传感器数据融合及Android APP交互四大核心能力训练。压缩包共267个文件&am…

作者头像 李华