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

socket简介

套接字(Socket)实质上就是对网络中不同主机上的应用进程之间进行双向通信的端点的抽象。一个套接字就是网络上进程通信的一端,为应用层进程利网络协议交换数据提供了相应机制。套接字出于承上启下的作用,向上连接应用进程,向下则连接网络协议栈,不仅是应用程序通过网络协议进行通信的接口,也是应用程序与网络协议栈进行交互的接口。

一、套接字类型(socket类型)⭐⭐⭐

1.1 流式套接字(SOCK_STREAM) TCP

针对于TCP协议。
提供了一个面向连接、可靠的数据传输服务,数据无差错、无重复的发送且按发送顺序接收。内设置流量控制,避免数据流淹没慢的接收方。数据被看作是字节流,无长度限制

1.2 数据报套接字(SOCK_DGRAM) UDP

针对于UDP协议。
提供无连接服务。数据包以独立数据包的形式被发送,不提供无差错保证,数据可能丢失或重复,顺序发送,可能乱序接收。

1.3 原始套接字(SOCK_RAW)

可以对较低层次协议如IP、ICMP直接访问。

二、Socket的位置

image.png

三、端口号

3.1 概念

  • 为了区分一台主机接收到的数据包应该转交给哪个进程来进行处理,使用端口号来区分
  • TCP端口号与UDP端口号独立
  • 端口号一般由IANA (Internet Assigned Numbers Authority) 管理
  • 端口用两个字节来表示 2byte

3.2 划分

  1. 众所周知端口:1 ~ 1023(1 ~ 255之间为众所周知端口,256~1023端口通常由UNIX系统占用)
  2. 已登记端口:1024~49151
  3. 动态或私有端口:49152~65535

拓展:套接字表示方法

套接字的表示方法是点分十进制的IP地址后加上端口号,两者之间用冒号或逗号分隔开,即:
套接字(Socket):(IP地址:端口号)
例如:IP地址为192.168.112.20,端口号为23,则可得到套接字为(192.168.112.20:23)

相关文章:

socket简介

套接字(Socket)实质上就是对网络中不同主机上的应用进程之间进行双向通信的端点的抽象。一个套接字就是网络上进程通信的一端,为应用层进程利网络协议交换数据提供了相应机制。套接字出于承上启下的作用,向上连接应用进程&#xf…...

【AI视野·今日Robot 机器人论文速览 第四十九期】Fri, 6 Oct 2023

AI视野今日CS.Robotics 机器人学论文速览 Fri, 6 Oct 2023 Totally 29 papers 👉上期速览✈更多精彩请移步主页 Interesting: 📚ContactGen, 基于生成模型的抓取手势生成,类人五指手。(from 伊利诺伊大学 香槟) 数据集:GRAB da…...

七、互联网技术——SQL查询

文章目录 一、基础查询二、高级查询三、SQL视图一、基础查询 某学校的教学信息关系数据库中有如下两个表(表的名字和字段均用中文名字)学生表(学号,姓名,性别,专业)成绩表(学号,课程名,分数)用SQL语句表达下述查询:[问题1]检索分数高于80分的所有学生的学号和分数select 学…...

1.6 计算机网络的性能

思维导图: 1.6.1 计算机网络的性能指标 前言: 我的理解: 这段前言主要介绍了关于计算机网络性能的两个方面的讨论。首先,计算机网络的性能可以通过一些重要的性能指标来衡量。但除了这些指标之外,还有一些非性能特征…...

小程序中如何核销订单和优惠券

小程序已成为许多商家线上线下开展业务的重要渠道。客户在小程序中下单/领券后,可能需要商家现场扫码核销,例如超市购物、卖票、游乐园等线下场景。下面就介绍小程序中如何核销订单和优惠券。 一、订单核销 订单核销是指商家在小程序中确认顾客已经支付…...

211 毕业就入职 30 人的小公司是什么体验

为什么“选择”了 30 人的小公司? 作为一个 211 毕业的学生,进入 30 人的小公司不管是 8 年前还是现在,应该都是比较稀少的,但是当面的我阴差阳错进了这样一个小公司。 为什么我选择进入这样一个 30 人的小公司呢?主…...

aardio 读取 Excel文件,显示在 listview 中

编写 main.aardio 如下 import win.ui; /*DSG{{*/ winform win.form(text"excel1";right801;bottom500) winform.add( button1{cls"button";text"读取Excel文件";left19;top14;right126;bottom44;z1}; button2{cls"button";text&quo…...

Web:前端常用的几种Http请求GET和POST样例

1、简述 在Web开发过程中,少不了发起Http请求服务端的接口数据,在不同的框架中使用了不同的Http请求方式,常用的请求有fetch、 ajax、 axios、XMLHttpRequest、request,以下样例仅供参考。 2、Fetch Fetch API 是一种 JavaScr…...

clickonce 发布的winform 如何CA认证?

要为使用ClickOnce发布的WinForms应用程序启用CA(证书颁发机构)认证,您可以按照以下步骤进行操作: 1. **获取数字证书**: - 首先,您需要获得一个数字证书,通常从受信任的CA购买。这个数字证…...

#力扣:13. 罗马数字转整数@FDDLC

13. 罗马数字转整数 一、Java import java.util.HashMap;class Solution {public int romanToInt(String s) {HashMap<Character, Integer> m new HashMap<>() {{put(I, 1);put(V, 5);put(X, 10);put(L, 50);put(C, 100);put(D, 500);put(M, 1000);}};char[] a …...

React18入门(第一篇)——JSX、TSX语法详解

文章目录 一、JSX 语法简介二、和 HTML 标签的几点不同三、JSX 属性四、JSX 事件4.1 简单点击事件4.2 类型限制4.3 带参数&#xff0c;箭头函数 五、插入 JS 变量六、JSX 中使用条件判断七、循环 一、JSX 语法简介 JSX - 是 JS 的扩展&#xff0c;写在 JS 代码里面&#xff0c…...

【计算机基础知识】字符的编码表示

欢迎来到我的&#xff1a;世界 希望作者的文章对你有所帮助&#xff0c;有不足的地方还请指正&#xff0c;大家一起学习交流 ! 目录 前言1.西文字符编码2.中文字符编码汉字输入码汉字国标码汉字机内码汉字字形码 总结 前言 计算机处理的数据中&#xff0c;除了数值型数据以外…...

【面试题精讲】Java字符型常量和字符串常量的区别?

“ 有的时候博客内容会有变动&#xff0c;首发博客是最新的&#xff0c;其他博客地址可能会未同步,认准https://blog.zysicyj.top ” 首发博客地址[1] 面试题手册[2] 系列文章地址[3] Java 中的字符型常量和字符串常量是两种不同的数据类型。 字符型常量&#xff1a;字符型常量…...

【Vue面试题六】为什么Vue中的 v-if 和 v-for 不建议一起用?

文章底部有个人公众号&#xff1a;热爱技术的小郑。主要分享开发知识、学习资料、毕业设计指导等。有兴趣的可以关注一下。为何分享&#xff1f; 踩过的坑没必要让别人在再踩&#xff0c;自己复盘也能加深记忆。利己利人、所谓双赢。 面试官&#xff1a;v-if和v-for的优先级是什…...

leetCode 674. 最长连续递增序列 动态规划 / 贪心策略

674. 最长连续递增序列 - 力扣&#xff08;LeetCode&#xff09; 给定一个未经排序的整数数组&#xff0c;找到最长且 连续递增的子序列&#xff0c;并返回该序列的长度。 连续递增的子序列 可以由两个下标 l 和 r&#xff08;l < r&#xff09;确定&#xff0c;如果对于每…...

数据中台实战(11)-数据中台的数据安全解决方案

0 微盟删库跑路 除了快、准和省&#xff0c;数据中台须安全&#xff0c;避免“微盟删库跑路”。 2020年2月23日19点&#xff0c;国内最大精准营销服务商微盟出现大面积系统故障&#xff0c;旗下300万商户线上业务全停&#xff0c;商铺后台所有数据被清。始作俑者是一位运维&a…...

林沛满-TCP之在途字节数

本文整理自&#xff1a;《Wireshark网络分析的艺术 第1版》 作者&#xff1a;林沛满 著 出版时间&#xff1a;2016-02 我一直谨记斯蒂芬霍金的金玉良言—每写一道数学公式就会失去一半读者。不过为了深度分析网络包&#xff0c;有时候是不得不计算的&#xff0c;好在小学一年级…...

HTTPS 加密工作过程

引言 HTTP 协议内容都是按照文本的方式明文传输的&#xff0c;这就导致在传输过程中出现一些被篡改的情况。例如臭名昭著的运营商劫持。显然&#xff0c; 明文传输是比较危险的事情&#xff0c;为此引入 HTTPS &#xff0c;HTTPS 就是在 HTTP 的基础上进行了加密, 进一步的来保…...

校招秋招,性格和职业有关系吗?

企业在招聘应届毕业生时不再局限于普通的面试或者笔试&#xff0c;在互联网时代&#xff0c;为了能够更好的匹配需要的优质人才&#xff0c;企业会通过各种测试来提高招聘的准确率以及成功率。也许以前很多人都听说过性格和职业是有一定关系的&#xff0c;但是如何确定自己的性…...

网络和系统操作命令

目录 ping&#xff1a;用于检测网络是否通畅&#xff0c;以及网络时延情况。ipconfig&#xff1a;查看计算机的IP参数配置信息&#xff0c;如IP地址、默认网关、子网掩码等信息。netstat&#xff1a;显示协议统计信息和当前TCP/IP网络连接。tasklist&#xff1a;显示当前运行的…...

OpenAI Agent SDK实战:5分钟搞定MCP协议接入(附完整代码)

OpenAI Agent SDK与MCP协议深度整合实战指南 在当今AI技术快速迭代的背景下&#xff0c;工具链的标准化与互操作性成为开发者面临的核心挑战之一。OpenAI推出的Agent SDK与MCP协议组合&#xff0c;为构建可扩展的智能体系统提供了工业级解决方案。本文将带您从零开始&#xff0…...

大模型“预训练”是怎么回事

经常在想&#xff0c;大模型是怎么学会“理解和生成语言”的。仔细看&#xff0c;它的训练过程其实很有规律&#xff0c;简单讲可以拆解成几个步骤。数据准备 训练大模型之前&#xff0c;最重要的是数据。我看到的做法是从各种网络资源收集海量文本&#xff0c;比如网页、书籍、…...

如何5分钟制作超轻量Windows 11系统:Tiny11Builder终极指南

如何5分钟制作超轻量Windows 11系统&#xff1a;Tiny11Builder终极指南 【免费下载链接】tiny11builder Scripts to build a trimmed-down Windows 11 image. 项目地址: https://gitcode.com/GitHub_Trending/ti/tiny11builder 想要体验一个干净、流畅、占用空间极小的W…...

从单体到微服务:用Ruoyi-Vue-Plus框架快速搭建多租户后台系统(含AI模块开发避坑指南)

从单体到微服务&#xff1a;Ruoyi-Vue-Plus框架的多租户实战与AI模块开发精要 当企业级应用需要同时服务多个客户群体时&#xff0c;如何确保数据隔离与系统性能的平衡成为架构设计的核心挑战。Ruoyi-Vue-Plus作为一款基于Spring Boot的快速开发框架&#xff0c;其多租户实现机…...

JDK24虚拟线程pinning问题终于解决了!手把手教你如何避免同步代码块阻塞

JDK24虚拟线程pinning问题深度解析与实战优化指南 虚拟线程作为Java平台近年来最重要的并发模型革新&#xff0c;从JDK21的初次亮相到JDK24的成熟完善&#xff0c;已经逐步改变了Java开发者处理高并发的思维方式。本文将带您深入理解pinning问题的本质&#xff0c;掌握JDK24中的…...

如何用LeetDown实现iOS设备降级?3个步骤轻松搞定

如何用LeetDown实现iOS设备降级&#xff1f;3个步骤轻松搞定 【免费下载链接】LeetDown a GUI macOS Downgrade Tool for A6 and A7 iDevices 项目地址: https://gitcode.com/gh_mirrors/le/LeetDown 还在为老旧iOS设备升级后卡顿烦恼吗&#xff1f;想让iPhone 5s或iPad…...

Python从入门到精通(第08章):列表、元组、集合与字典

Python从入门到精通(第08章):列表、元组、集合与字典 开头导语 这是本系列第08章。本文采用"知识点讲解 + 错误示例 + 正确写法 + 自测清单"的结构,目标是让你不仅能看懂,还能独立写出可运行代码。建议你边看边敲,所有示例都亲自执行一次。 章节摘要 本章围…...

革命性AI身份系统:Second Me如何重新定义数字分身技术

革命性AI身份系统&#xff1a;Second Me如何重新定义数字分身技术 【免费下载链接】Second-Me 开源 AI 身份系统&#xff0c;通过本地训练和部署&#xff0c;模仿用户思维和学习风格&#xff0c;创建专属AI替身&#xff0c;保护隐私安全。 项目地址: https://gitcode.com/gh_…...

如何快速打造微信风格视频编辑功能?推荐开源神器WeiXinRecordedDemo

如何快速打造微信风格视频编辑功能&#xff1f;推荐开源神器WeiXinRecordedDemo 【免费下载链接】WeiXinRecordedDemo 仿微信视频拍摄UI, 基于ffmpeg的视频录制编辑 项目地址: https://gitcode.com/gh_mirrors/we/WeiXinRecordedDemo WeiXinRecordedDemo是一款基于FFmpe…...

ARM嵌入式开发:寄存器操作与函数指针实战

## 1. 嵌入式开发中的寄存器操作技巧### 1.1 寄存器地址访问方法 在ARM架构嵌入式开发中&#xff0c;直接操作硬件寄存器是底层开发的核心技能。通过C语言访问特定内存地址的标准做法是使用指针类型转换&#xff1a;c #define GSTATUS1 (*(volatile unsigned int *)0x560000B0)…...