day6 socket套接字及TCP的实现框架

news2024/11/26 0:56:09

socket套接字

Berkeley UNIX 操作系统定义了一种API它又称为套接字接口(socket interface);

socket作用:

socket常见API介绍

/*创建套接字*/
int socket(int domain, int type, int protocol);
/*绑定通信结构体*/
int bind(int sockfd, const, struct sockaddr *addr, socklen_t addrlen);
/*监听套接字*/
int listen(int sockfd, int backlog);
/*处理客户端发起的连接,生成新的套接字*/
int accept(int sockfd, struct sockaddr *addr, socklen_t addrlrn);
/*向服务器发起连接请求*/
int connect(int sockfd, const struct sockaddr *addr, socklen_t addrlrn);

三元组(IP地址、端口、协议):

IP地址:标识计算机;

端口号:标识计算机当中的进程;

协议:指定数据传输的方式;(主要指的是TCP和UDP)

套接字的类型:

1、流式套接字 (SOCK_STREAM) 提供可靠的、面向连接的通信流;它使用TCP,从而保证数据传输的可靠性和顺序性

2、数据报套接字 (SOCK_DGRAM) 定义了一种不可靠、面向无连接的服务,数据通过相互独立的报文进行传输,是无序的,并且不保证是可靠、无差错的。它使用数据报协议UDP

3、原始套接字(SOCK_RAW) 允许直接访问底层协议,如IP或ICMP,它功能强大但使用较为不便,主要用于协议开发。

 套接字属于一种特殊的文件描述符;

Unix域套接字用于本地进程间通信;

TCP通信的实现过程

主要过程:

1、建立连接;(socket, bind, listen, accept)

2、数据传输;(read/write  recv/send)

3、连接释放;(close shutdown)

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/471835.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【数据库】MVCC原理详解

文章目录 前言1. 相关数据库知识点回顾1.1 什么是数据库事务,为什么要有事务1.2 事务包括哪几个特性?1.3 事务并发存在的问题1.3.1 脏读1.3.2 不可重复读1.3.3 幻读 1.4 四大隔离级别1.4.1 读未提交1.4.2 读已提交1.4 3 可重复读1.4.4 串行化1.4.5 四大隔…

chatgpt模拟机器人软件开发

ChatGPT的参数取决于具体的模型和实现方式,但以下是一些常见的ChatGPT参数: 模型深度:指模型中神经网络的层数。通常情况下,层数越多,模型的表达能力也就越强。 隐藏单元大小:指在模型中每个隐藏层…

局域网 - CSMA/CD(载波侦听多路访问 / 冲突检测)

文章目录 1 概述1.1 局域网的拓扑结构 2 CSMA/CD2.1 三种监听算法2.2 冲突检测原理2.3 二进制指数后退算法 3 扩展3.1 网工软考真题 1 概述 1.1 局域网的拓扑结构 2 CSMA/CD CSMA/CD:Carrier Sense Multiple Access/ Collision Detection,载波侦听多路…

从功能测试转型测试开发,薪资涨了20K,1000字讲述转型必经之路...

身处职场之中,犹如逆水行舟不进则退,想要不被后浪拍死在沙滩上,就要不断学习新知识,接受新事物。 要得到更好的发展,就要紧跟发展趋势,不断转型才能保持竞争力,在职场中占有一席之地。 转型不…

如何理解自动化测试数据驱动与关键字驱动的区别?

一、关键字驱动KDT(Keyword-driven testing) 1、自动化测试框架发展的第三个阶段是关键字驱动测试框架阶段,它是当前比较流行的一种框架之一,并且现在的自动化测试工具已经将关键字驱动框架融入到工具中。在录制过程中自动化测试工具会将对象及操作属性保…

如何提高倾斜摄影超大场景的三维模型轻量化处理速度和效率?

如何提高倾斜摄影超大场景的三维模型轻量化处理速度和效率? 倾斜摄影超大场景的三维模型轻量化处理是将高精度的三维模型进行降采样、简化等处理,以达到减少数据大小和提高渲染性能的目的。为了提高轻量化处理速度,可以从以下方面入手&#x…

【Java 】Java 类加载和类加载器

文章目录 前言一、加载二、链接验证准备解析 三、初始化发生的时机不会触发类的初始化 四、类加载器双亲委派模式 前言 Java 的类加载阶段分为:加载、链接、初始化,而链接的过程中包括:验证、准备、解析。 一、加载 将类的字节码载入方法区…

vue3新拟态组件库开发流程——table组件源码

基础表格 首先开发table组件之前,先想好要用什么样式的api,因为笔者在生产工作中用的都是element,所以前面几个组件风格和element类似,但是这次不打算用element的风格了,打算换一种,直接展示: …

LinkedHashMap顺序迭代原理与LRU算法实现

一、LinkedHashMap与HashMap的结构区别 HashMap LinkedHashMap 结构区别:LinkedHashMap的元素Entry中多两个用于维护双向链表的指针before、after,并且在LinkedHashMap中有两个head、tail指针用于记录双向链表的头结点和尾结点。 二、LinkedHashMa…

2.3 定点乘法运算

学习目标: 如果我要学习定点乘法运算,我会按照以下步骤进行学习: 确定学习目标:明确学习定点乘法运算的目的和重点,以便有针对性地进行学习。 掌握基础知识:首先需要了解定点数和定点乘法的基础知识&…

【halcon】半透明和棋盘格(未完成)

背景 想实现一个这样的效果&#xff1a; 但是发现设置HSmartWindowControlWPF 的Background 根本就没有反应。 探索过程 于是就换个思路&#xff0c;把棋盘格画到Border里面。 <Border Grid.Row"1" Grid.ColumnSpan"2" Panel.ZIndex"0" >…

MySQL:数据库的基本操作

MySQL是一个客户端服务器结构的程序, 一.关系型数据库 关系型数据库是一个结构化的数据库&#xff0c;创建在关系模型&#xff08;二维表格模型&#xff09;基础上&#xff0c;一般面向于记录。 主流的关系型数据库包括 Oracle、MySQL、SQL Server、Microsoft Access、DB2 等. …

mitmproxy抓包

0.mitmproxy功能简介 实时拦截、修改 HTTP/HTTPS 请求和响应可保存完整的 http 会话&#xff0c;方便后续分析和重放支持反向代理模式将流量转发到指定服务器支持 macOS 和 Linux上的透明代理模式支持用 Python 脚本对 HTTP 通信进行修改 1. 安装mitmproxy pip3 install mit…

wow.js scrollReveal.js 动画库 使用详解以及优劣

wow.js 1.简介 有的页面在向下滚动的时候&#xff0c;有些元素会产生细小的动画效果。比如需要做到滚动条滑到某个位置时&#xff0c;才能显示动画。wow.js 依赖 animate.css&#xff0c;所以它支持 animate.css 多达 60 多种的动画效果&#xff0c;能满足您的各种需求。 IE6、…

Python+Qt掌纹识别

程序示例精选 PythonQt掌纹识别 如需安装运行环境或远程调试&#xff0c;见文章底部个人QQ名片&#xff0c;由专业技术人员远程协助&#xff01; 前言 这篇博客针对<<PythonQt掌纹识别>>编写代码&#xff0c;代码整洁&#xff0c;规则&#xff0c;易读。 学习与应…

安卓GB28181-2022 RTP over TCP

使用TCP传输RTP包&#xff0c;GB28181-2016和GB28181-2022 都是按IETF RFC4571来的。使用TCP发送RTP包&#xff0c;前面加个16位无符号长度字段就好(网络字节序)。具体定义格式如下&#xff1a; 需要注意的是LENGTH值可以是0&#xff0c;0的话表示空包; 另外UDP传输RTP包&#…

【华为云主机迁移服务SMS,使用指南 (linux版本)】

文章目录 华为云主机迁移服务SMS,使用指南 (linux版本)1.迁移前准备工作1.1 必要条件1.2 准备 (注意切换浏览器) 2.在源端(A服务器)安装Agent (linux版), 连接到B的华为云SMS3.设置目的端(B服务器)--在B浏览器内操作4.开始服务器复制5.启动目的端 (B)6.其他非必要操作 华为云主…

KDZD地埋线短路漏电试扎器

一、产品背景 多年以来&#xff0c;电力电缆的维护迁移过程中的识别与刺孔&#xff0c;均按照行业标准DL409-91《电业安全工作规程&#xff08;电力线路部分&#xff09;》第234条要求&#xff0c;采用人工刺孔&#xff0c;一旦电缆识别出错&#xff0c;误刺孔带电电缆将对人身…

就现在!体验高科技的虚拟孪生

01 行业创新已成大势所趋 世界进入工业复兴大约已有十余载&#xff0c;众多行业开始向数字化转型&#xff0c;尖端技术取代了老旧的数字技术。对于制造商而言&#xff0c;在将运营控制在预算范围内的同时&#xff0c;保持满足这些需求所需的产量&#xff0c;是一项巨大的挑战。…

JS-11G/11端子排静态时间继电器 JOSEF约瑟 导轨安装

JS-11G系列端子排静态时间继电器品牌&#xff1a;JOSEF约瑟名称&#xff1a;端子排静态时间继电器型号&#xff1a;JS-11G工作电压&#xff1a;48,110,220V返回时间&#xff1a;≤20mS延时范围&#xff1a;0.02S~999M 系列型号&#xff1a; JS-11G1端子排静态时间继电器&…