网络——Socket与WebSocket
Socket与WebSocket都是网络通信中的重要概念,但它们在原理、应用场景及特性上存在显著的差异。以下是对两者的详细比较:
一、Socket
-
定义:Socket(套接字)是计算机网络中的一个抽象层,它允许应用程序通过网络进行通信。套接字用于跨网络的不同主机上的应用程序之间的数据交换。
-
原理:Socket位于应用层和传输层之间,是一个抽象层或一组接口。它简化了TCP/IP协议族的操作,为用户提供了一组简单的接口来调用,从而实现进程在网络中的通信。Socket通信通常基于TCP或UDP协议进行。
-
特点:
- 需要明确的握手过程,包括创建套接字、绑定、监听等步骤。
- 提供了一种全双工的通信方式,允许双方同时进行数据的读取和写入。
- 数据传输格式可以是任意的,没有规定的格式。
- 适用于传统的客户端-服务器应用、P2P通信等场景。
二、WebSocket
-
定义:WebSocket是一种基于HTTP协议的高级协议,用于在客户端和服务器之间实现实时、双向的通信。
-
原理:WebSocket建立在TCP协议之上,通过单一的TCP连接提供全双工通信。WebSocket的通信始于HTTP握手,之后升级到WebSocket协议。握手完成后,客户端和服务器之间可以直接进行双向数据传输,而无需像HTTP那样每次通信都需要建立新的连接。
-
特点:
- 通过HTTP握手实现初始连接,之后通信在单一TCP连接上进行。
- 通信的数据是以帧的形式传输的,可以是文本、二进制数据或其他格式。
- 允许服务器主动向客户端推送数据,这使得WebSocket在需要即时性的应用场景中表现得更为出色。
- 通常使用加密的WebSocket(wss://)来提供更安全的通信,类似于HTTPS对HTTP的加密。
- 适用于需要实时双向通信的Web应用程序,如在线聊天、实时协作工具等。
三、Socket与WebSocket的区别
- 协议层次:Socket位于传输层,通常使用TCP或UDP协议;而WebSocket是一种基于HTTP协议的高级协议,通常在HTTP握手之后升级到WebSocket协议。
- 连接状态:Socket连接在数据传输完成后需要关闭;而WebSocket连接始终保持打开状态,允许服务器主动向客户端推送数据。
- 数据传输格式:Socket数据传输格式可以是任意的,没有规定的格式;而WebSocket通信的数据是以帧的形式传输的。
- 应用场景:Socket适用于传统的客户端-服务器应用、P2P通信等场景;而WebSocket则更适用于需要实时双向通信的Web应用程序。
相关文章:

网络——Socket与WebSocket
Socket与WebSocket都是网络通信中的重要概念,但它们在原理、应用场景及特性上存在显著的差异。以下是对两者的详细比较: 一、Socket 定义:Socket(套接字)是计算机网络中的一个抽象层,它允许应用程序通过网…...

Springboot3整合Redis
书接上篇《Redis 安装篇(阿里云服务器)_阿里云安装redis-CSDN博客》,安装好Redis后,就需要在springboot项目中使用Redis了。 一、SpringBoot整合Redis 1.添加坐标 <!--redis--> <dependency><groupId>org.sp…...

Java CountDownLatch 用法和源码解析
🧑 博主简介:CSDN博客专家,历代文学网(PC端可以访问:https://literature.sinhy.com/#/literature?__c1000,移动端可微信小程序搜索“历代文学”)总架构师,15年工作经验,…...

微信小程序3-显标记信息和弹框
感谢阅读,初学小白,有错指正。 一、实现功能: 在地图上添加标记点后,标记点是可以携带以下基础信息的,如标题、id、经纬度等。但是对于开发来说,这些信息还不足够,而且还要做到点击标记点时&a…...

Android 消息队列之MQTT的使用:物联网通讯,HTTP太重了,使用MQTT;断网重连、注册、订阅、发送数据和接受数据,实现双向通讯。
目录: 问题MQTT是什么以及为什么使用如何使用:第一阶段、基础功能如何使用:第二阶段、增加断网重连如何使用:第三阶段、封装 一、问题 在开发的时候,我们一般都使用Http和后台进行通讯,比如我们是开发物联…...

详解Java数据库编程之JDBC
目录 首先创建一个Java项目 在Maven中央仓库下载mysql connector的jar包 针对MySQL版本5 针对MySQL版本8 下载之后,在IDEA中创建的项目中建立一个lib目录,然后把刚刚下载好的jar包拷贝进去,然后右键刚刚添加的jar包,点击‘添…...

详解C++类与对象(四)
文章目录 1.类型转换1.1 前言1.2 类型转换的性质 2.static成员2.1 前言2.2 static的基本概念 3.友元4.内部类5.匿名对象 1.类型转换 1.1 前言 在C中,由于程序员可以自己显示定义一个新的类。这样就会出现一个问题:程序员自己显示定义的类类型与编译器中…...

使用 postman 传递 binary 类型的图片到后端接口遇到的坑
使用 psotman 传 binary 类型图片报错: -2024-12-04 [http-nio-9090-exec-1] WARN org.springframework.web.servlet.mvc.support.DefaultHandlerExceptionResolver Resolved [org.springframework.http.converter.HttpMessageNotReadableException: Required r…...

第9章 大模型的有害性(上)
9.1 引言 本章将探讨大型语言模型(LLMs)可能带来的有害性,重点讨论以下几个方面: 性能差异社会偏见和刻板印象 在后续内容中,还会涉及其他层面的危害,如有害信息、虚假信息、隐私和安全风险、版权问题、…...

计算机视觉——相机标定(Camera Calibration)
文章目录 1. 简介2. 原理3. 相机模型3.1 四大坐标系3.2 坐标系间的转换关系3.2.1 世界坐标系到相机坐标系3.2.2 相机坐标系到图像坐标系3.2.3 像素坐标系转换为图像坐标系3.2.4 世界坐标转换为像素坐标 3.3 畸变3.3.1 畸变类型3.3.1.1 径向畸变(Radial Distortion&a…...

Java爬虫技术全解析:从入门到精通
引言 在信息爆炸的今天,数据成为了最宝贵的资源之一。爬虫技术作为获取网络数据的重要手段,广泛应用于数据采集、信息聚合、市场分析等多个领域。Java作为一种强类型、面向对象的编程语言,以其稳健的性能和跨平台的特性,成为了开…...

leetcode hot100【Leetcode 416.分割等和子集】java实现
Leetcode 416.分割等和子集 题目描述 给定一个非负整数的数组 nums ,你需要将该数组分割成两个子集,使得两个子集的元素和相等。如果可以分割,返回 true ,否则返回 false。 示例 1: 输入:nums [1,5,11,…...

位段详解+代码展示
系列文章目录 🎈 🎈 我的CSDN主页:OTWOL的主页,欢迎!!!👋🏼👋🏼 🎉🎉我的C语言初阶合集:C语言初阶合集,希望能…...

python实现c++中so库调用及dbus服务开发
本期介绍主要分两块,一块是python如何调用so库,另一块是dbus服务的注册与调用; python调用so库 1. c++源码 # test.h文件#include<iostream> using namespace std;extern "C"{ int cacl(int a, int b); struct student{char sname[50];int score;}; stud…...

如何进行GC调优
目录 1、GC是什么? 垃圾回收算法、收集器等 2、优化目标 3、优化策略 这个属于较为开放题目,可以结合自己项目实战出发,体现JVM调优。 1、GC是什么? 垃圾回收算法、收集器等 2、优化目标 (1) 将进入老年代的对象数量降到最低 (2) 减少FullGC的执行…...

JAVA |日常开发中读写TXT文本详解
JAVA |日常开发中读写TXT文本详解 前言一、读取 TXT 文本1.1 使用BufferedReader读取1.2 使用Scanner读取 二、写入 TXT 文本2.1 使用BufferedWriter写入2.2 使用PrintWriter写入2.3 字节流写入(FileOutputStream)后转换为字符流(…...

开源模型应用落地-安全合规篇-用户输入价值观判断(三)
一、前言 在深度合规功能中,对用户输入内容的价值观判断具有重要意义。这一功能不仅仅是对信息合法性和合规性的简单审核,更是对信息背后隐含的伦理道德和社会责任的深刻洞察。通过对价值观的判断,系统能够识别可能引发不当影响或冲突的内容,从而为用户提供更安全、更和谐的…...

apache部署若依前后端分离项目(开启SSL)
网站部署之后,大多数需要配置https,所以本章教程,介绍使用apache部署若依前后端项目的时候,如何开启SSL,以及如何配置SSL证书。 一、安装ssl模块 默认情况下,ssl模块是没有安装的。需要手动安装,否则直接配置SSL模块的时候,会报错。 sudo yum install mod_ssl二、查询s…...

VMware Workstation Pro安装教程 (全图文保姆级)
一、前言 系统:Windows 11时间:2024/12/04需求:注册:broadcom(邮箱)难点:在官网找到下载链接 二、说明 建议前往官网(https://www.vmware.com)下载,可能加…...

【机器学习】—Transformers的扩展应用:从NLP到多领域突破
好久不见!喜欢就关注吧~ 云边有个稻草人-CSDN博客 目录 引言 一、Transformer架构解析 (一)、核心组件 (二)、架构图 二、领域扩展:从NLP到更多场景 1. 自然语言处理(NLP) 2…...

Linux权限机制深度解读:系统安全的第一道防线
文章目录 前言‼️一、Linux权限的概念‼️二、Linux权限管理❕2.1 文件访问者的分类(人)❕2.2 文件类型和访问权限(事物属性)✔️1. 文件类型✔️2. 基本权限✔️3. 权限值的表示方法 ❕2.3 文件访问权限的相关设置方法✔️1. ch…...

【数据集】细胞数据集:肿瘤-胎儿重编程的内皮细胞驱动肝细胞癌中的免疫抑制性巨噬细胞(Sharma等人)
引用此数据集: Sharma, Ankur (2020), “Onco-fetal reprogramming of endothelial cells drives immunosuppressive macrophages in Hepatocellular Carcinoma (Sharma et al)”, Mendeley Data, V1, doi: 10.17632/6wmzcskt6k.1 下载地址:Onco-feta…...

LangChain学习笔记(一)-LangChain简介
LangChain学习笔记(一)-LangChain简介 langChain是一个人工智能大语言模型的开发框架,主要构成为下图。 一、核心模块 (一)模型I/O模块 负责与现有大模型进行交互,由三部分组成: 提…...

【Dubbo03】消息队列与微服务之dubbo-admin 二进制与编译安装
实战案例:二进制安装 dubbo-admin 新版用Golang重构,提供了二进制包,可以直接部署 #下载二进制包 [rootubuntu2204 ~]#wget https://github.com/apache/dubbo-admin/releases/download/0.5.0/apache-dubbo-admin-0.5.0-bin-release.tar.gz …...

常见问题QA的前端代码
这个的后端代码参见此文 使用语言向量建立常见问题的模糊搜索-CSDN博客https://blog.csdn.net/chenchihwen/article/details/144207262?spm1001.2014.3001.5501 这段代码实现了一个简单的问答页面,页面分为左右两部分,左侧用于展示对话记录,…...

【Java基础面试题010】Java中的基本数据类型有哪些?
相关知识补充:《Java从入门到精通(JDK17版)》_尚硅谷电子书.pdf Autism_Btkrsr/Blog_md_to_pdf - 码云 - 开源中国 (gitee.com) 回答重点 Java提供了8中基本数据类型 整型: byte:占用1字节,取值范围 -128 到 127short&#x…...

记录部署dvwa靶场踩的几个坑
DVWA reCAPTCHA key: Missing 解决方法:网上随便copy一个,粘贴到config.inc.php配置文件里,具体我也是参考这篇文章的:DVWA下载、安装You dont have permission to access this resource.Server unable to read htaccess file, de…...

【Pytorch】torch.reshape与torch.Tensor.reshape区别
问题引入: 在Pytorch文档中,有torch.reshape与torch.Tensor.reshape两个reshape操作,他们的区别是什么呢? 我们先来看一下官方文档的定义: torch.reshape: torch.Tensor.reshape: 解释: 在p…...

GPT vs Claude到底如何选?
美国当地时间6月20日,OpenAI的“劲敌”Anthropic公司发布了最新模型Claude 3.5 Sonnet。据Anthropic介绍,该模型是Claude 3.5系列模型中的首个版本,也是Anthropic迄今为止发布的“最强大、最智能”的模型。它不仅在性能上超越了竞争对手和自家…...

基于C++实现的(控制台)双人俄罗斯方块小游戏
基于win32控制台应用程序的双人俄罗斯方块小游戏 1. 课题概述 1.1 课题目标和主要内容 使用visual studio 2015在win32控制台应用程序下用多线程实现双人同时进行俄罗斯方块的桌面游戏。最终将要完成的效果如图1.1所示,左右共两片工作区,也是游戏的主…...

Linux-虚拟环境
文章目录 一. 虚拟机二. 虚拟化软件三. VMware WorkStation四. 安装CentOS操作系统五. 在VMware中导入CentOS虚拟机六. 远程连接Linux系统1. Finalshell安装2. 虚拟机网络配置3. 连接到Linux系统 七. 虚拟机快照 一. 虚拟机 借助虚拟化技术,我们可以在系统中&#…...

uniapp开发微信小程序笔记10-触底加载
前言: 触底加载需求描述: 经常在做一些商品列表页的时候,如果一次性加载大量数据会影响性能,一般都是先加载10-20条,等用户向下滑到底部时再加载新的数据并渲染上去。 1、官方提供了一个API:onReachBott…...

Pytest --capture 参数详解:如何控制测试执行过程中的输出行为
--capture 选项用于控制测试用例执行过程中标准输出(stdout)和标准错误输出(stderr)的捕获行为。 --capture 的选项值: fd(默认) 捕获文件描述符级别的输出(stdout 和 stderr&#x…...

JMeter实时性能压测可视化系统整合
一、相关工具简介: JMeter、Grafana 和 InfluxDB 结合实时地收集、分析和展示性能测试数据,进行更好地理解系统的性能表现,及时发现潜在问题并进行优化。 1,JMeter 实时生成性能数据,并将其发送到 InfluxDB 进行存储。2,InfluxDB 存储的数据。3,通过Grafana的仪表板,用…...

USB 声卡全解析:提升音频体验的得力助手
在当今数字化的时代,音频领域的追求愈发多元。无论是热衷聆听高品质音乐的爱好者,还是在专业音频工作中精雕细琢的人士,亦或是在游戏世界里渴望极致音效沉浸的玩家,都始终在寻觅能让音频体验更上一层楼的妙法。而 USB 声卡&#x…...

GoReplay开源工具使用教程
目录 一、GoReplay环境搭建 1、Mac、Linux安装GoReplay环境 二、GoReplay录制与重播 1、搭建练习接口 2、录制命令 3、重播命令 三、GoReplay单个命令 1、常用命令 2、其他命令 3、命令示例 4、性能测试 5、正则表达式 四、gorepaly组合命令 1、组合命令实例 2、…...

Qt开源控件:图像刻度轴绘制器 (附源码)工程项目私信博主
项目简介 图像刻度轴绘制器是一款基于 Qt/C 开发的小型绘图工具,旨在实现带有刻度轴的图像显示功能。该项目主要用于需要精确测量或标注图像坐标的场景。通过左侧和底部的坐标轴以及对应的刻度线,可以直观地了解图像内容在二维空间中的位置。 项目功能 …...

下载 M3U8 格式的视频
要下载 M3U8 格式的视频(通常是 HLS 视频流),可以尝试以下几种方法: 方法 1:使用下载工具(推荐) 1. IDM(Internet Download Manager): 安装 IDM 并启用浏…...

Mock.js的学习使用
Mock.js 介绍:是一个功能强大的JavaScript库,用于模拟接口请求和生成随机数据。 作用: 帮助开发者独立开发、前后端分离快速原型验证测试异常情况增加单元测试的真实性 原理: 通过拦截XMLHttpRequest或fetch等网络请求&#x…...

在 Windows Server 2022 Datacenter 上配置 MySQL 8.0 的主从复制
在 Windows Server 2022 Datacenter 上配置 MySQL 8.0 的主从复制。以下是详细的步骤: 1. 使用 root 用户登录 确保你以 root 用户登录到 MySQL 服务器。 mysql -u root -p输入你的 root 密码后进入 MySQL 命令行界面。 2. 配置主服务器 (master) 2.1 编辑 my.…...

6.1 innoDb逻辑存储结构和架构-简介
InnoDB 是 MySQL 默认的存储引擎,以其强大的事务支持、崩溃恢复能力和高效的数据处理能力广受欢迎。本文从逻辑存储结构、内存架构、磁盘结构到后台线程,逐步剖析 InnoDB 的关键概念,帮助您更好地理解和应用。 1. 逻辑存储结构 InnoDB 的数据…...

论文阅读——量子退火Experimental signature of programmable quantum annealing
摘要:量子退火是一种借助量子绝热演化解决复杂优化问题的通用策略。分析和数值证据均表明,在理想化的封闭系统条件下,量子退火可以胜过基于经典热化的算法(例如模拟退火)。当前设计的量子退火装置的退相干时间比绝热演…...

vue3项目最新eslint9+prettier+husky+stylelint+vscode配置
一、eslint9和prettier通用配置 安装必装插件 ESlint9.x pnpm add eslintlatest -DESlint配置 vue 规则 , typescript解析器 pnpm add eslint-plugin-vue typescript-eslint -DESlint配置 JavaScript 规则 pnpm add eslint/js -D配置所有全局变量 globals pnpm add globa…...

IOS ARKit进行图像识别
先讲一下基础控涧,资源的话可以留言,抽空我把它传到GitHub上,这里没写收积分,竟然充值才能下载,我下载也要充值,牛! ARSCNView 可以理解画布或者场景 1 配置 ARWorldTrackingConfiguration AR追…...

【el-table】表格后端排序
在需要排序的列添加属性 sortable,后端排序,需将sortable设置为custom 如果需要自定义轮转添加 sort-orders 属性,数组中的元素需为以下三者之一:ascending 表示升序,descending 表示降序,null 表示还原为原…...

【iOS】多线程基础
【iOS】多线程基础 文章目录 【iOS】多线程基础前言进程与线程进程进程的状态进程的一个控制结构进程的上下文切换 线程为什么要用线程什么是线程线程和进程的关系线程的上下文切换 线程和进程的优缺点 小结 前言 笔者由于对于GCD不是很了解,导致了项目中网络请求哪…...

c#控制台项目的发布+相对路径的用法(绝对路径下素材丢失问题)
发布 生成 ->发布选定任务 生成了以后,素材需要手动拖过去 文件相对路径...

Keil5配色方案修改为类似VSCode配色
1. 为什么修改Keil5配色方案 视觉习惯:如果你已经习惯了VSCode的配色方案,尤其是在使用ESP-IDF开发ESP32时,Keil5的默认配色可能会让你感到不习惯。减少视觉疲劳:Keil5的默认背景可能过于明亮,长时间使用可能会导致视…...

网络安全框架及模型-PPDR模型
网络安全框架及模型-PPDR模型 概述: 为了有效应对不断变化的网络安全环境,人们意识到需要一种综合性的方法来管理和保护网络安全。因此,PPDR模型应运而生。它将策略、防护、检测和响应四个要素结合起来,提供了一个全面的框架来处理网络安全问题。 工作原理: PPDR模型的…...

Observability:如何在 Kubernetes pod 中轻松添加应用程序监控
作者:来自 Elastic Jack Shirazi•Sylvain Juge•Alexander Wert Elastic APM K8s Attacher 允许将 Elastic APM 应用程序代理(例如 Elastic APM Java 代理)自动安装到 Kubernetes 集群中运行的应用程序中。该机制使用变异 webhook࿰…...

略谈革命样板戏的艺术价值及现实意义——以《红灯记》《白毛女》《红色娘子军》为例
在新中国文化艺术的发展历程中,革命样板戏无疑是一座巍峨的高峰。它们不仅是特定历史时期的艺术产物,更是毛泽东文艺思想与实践的集中体现。《红灯记》《白毛女》《红色娘子军》等作品,以其鲜明的阶级立场、深刻的思想内涵和独特的艺术形式,成为新中国文艺的经典之作,至今…...

美媒:特朗普称,“无法保证”加沙停火能够持续
【环球网报道 见习记者 闫珮云】据美国有线电视新闻网(CNN)报道,在即将于本周晚些时候会见以色列总理内塔尼亚胡之际,美国总统特朗普3日表示,他“无法保证”加沙停火能够持续。美国总统特朗普资料图 图源:外媒报道称,当被问及“是否怀疑停火…...

战略科学家与DS规划的战略哲学
Deepseek本身是个技术问题,但其设计理念及其规划确实是哲学和战略问题。战略就是哲学。一昨天写了两篇评论deepseek现象的思考,这两篇文字侧重于唯物论即人民性,今天写这篇则侧重于辩证法。看了跟帖,想到我在《战略学札记》说过的话:知古者新,知止者远。知静者动,知乱者…...

中共中央就西路军失败原因作出结论
西路军基本解体一个多星期后的1937年3月23日~31日,中共中央政治局在延安召开了政治局扩大会议。会议的议程有两项:㈠国民党三中全会后中国共产党的任务,于23日~26日(其中25日休会一天)进行了讨论,持续了3天时间;㈡)张国焘的错误,27日~31日进行了讨论,持续了5天时间…...

储贺军:L.A.大火烧穿了资本主义上层建筑
1月7日洛杉矶(L.A.)东北方向的山林燃起大火,在猛烈的东北风助燃之下,L.A.大区的部分地区,遭受了灭顶之灾,以至于被称为L.A.的“9·11”。天灾人祸哪里都可能有,当然需要对于L.A.市民们表示同情和慰问。但是,如果人类每遇天灾不反思自己,那…...

付欣宇:学好“写作三关”,做无产阶级的喉舌和传声筒——在刘继明老师《写作的“三关”》讨论课上的发言
认真学习了刘继明老师的“写作的三关”,颇有感慨,深表赞同。刘老师说的“三关”,其实是一种层层递进,环环相扣的关系,打通了这三关,尤如打通了人体的任督二脉,打通了“为无产阶级站台,为劳动人民发声”的要道。…...