長連接、短連接與WebSocket的基本知識

目錄

  • 前言
  • 正文

前言

🤟 找工作,來萬碼優才:👉 #小程序://萬碼優才/r6rqmzDaXpYkJZF

爬蟲神器,無代碼爬取,就來:bright.cn

Java基本知識:

  1. java框架 零基礎從入門到精通的學習路線 附開源項目面經等(超全)
  2. 【Java項目】實戰CRUD的功能整理(持續更新)

初次接入webSocket,對此分析與長短連接的差異所在

正文

先通過一個表格了解基本知識:

特性短連接長連接WebSocket
連接持續請求后斷開持續連接持續連接
通信方向單向(請求-響應)單向為主雙向(全雙工)
建立開銷每次都建立只需一次一次升級后持續
實時性一般優秀
應用場景Web請求、API調用數據庫連接、消息隊列實時推送、IM、協作工具
傳輸協議TCP(HTTP)TCP(Keep-Alive) TCP(升級為 WebSocket)

具體各方面的知識如下:

  • 短連接
    指的是每次客戶端與服務器通信時都重新建立一次連接,數據傳輸完成后立即關閉連接
    每次通信都需三次握手、四次揮手(TCP協議)
    適用于請求-響應模型,連接時間短
    常見于:HTTP 1.0、REST API 接口等

? 優點:

節省資源,不需要長期維持連接

實現簡單,適合訪問頻率較低的應用

? 缺點:

多次連接建立開銷大(尤其在頻繁請求時)

無法實時通信,延遲高

  • 長連接
    指客戶端和服務器建立連接后保持不關閉,可用于多次數據交互
    只需一次握手,可以多次通信
    常見于:HTTP 1.1的 Keep-Alive、數據庫連接池、Socket 通信等

? 優點:

避免重復建立連接,提高效率

更適合頻繁通信的場景

? 缺點:

占用資源,需要心跳機制保持連接活躍

網絡中斷或服務器異常需特殊處理

  • WebSocket
    是一種在單個 TCP 連接上進行全雙工通信的協議,允許服務器主動向客戶端推送數據。
    建立在 HTTP/HTTPS 上,升級為 WebSocket 協議(使用 Upgrade 頭)
    全雙工通信,實時性強
    廣泛應用于聊天系統、在線游戲、實時行情等

? 優點:

單連接、低開銷、可實時推送

全雙工通信,客戶端和服務端都可以主動發消息

基于標準,瀏覽器原生支持

? 缺點:

對服務器資源要求高,需保持連接狀態

網絡代理(如防火墻)可能影響連接建立

安全問題需注意(如 XSS、CSRF)

場景示例:

類型場景
短連接請求頻率低:新聞瀏覽、搜索請求
一次性傳輸即可完成任務的系統
長連接數據庫訪問(如 MySQL 連接池)
長時間業務流程:支付交易、文件上傳
WebSocket實時消息推送(IM、在線客服)
實時協同辦公(Google Docs、協作白板)
游戲對戰、實時交易系統(股票、幣圈)

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/902622.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/902622.shtml
英文地址,請注明出處:http://en.pswp.cn/news/902622.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

2026《數據結構》考研復習筆記四(緒論)

緒論 前言時間復雜度分析 前言 由于先前筆者花費約一周時間將王道《數據結構》知識點大致過了一遍,圈畫下來疑難知識點,有了大致的知識框架,現在的任務就是將知識點逐個理解透徹,并將leetcode刷題與課后刷題相結合。因此此后的過…

Vmware安裝centos7和Redis

2025最詳細vmware安裝centos 7 教程_嗶哩嗶哩_bilibili 1.上面是B站安裝Centos7參考視頻 2.安裝完成需要配置網絡 (新手教程)VMware安裝CentOS7_嗶哩嗶哩_bilibili 重啟網絡服務: ping www.baidu.com ip addr 查看ip地址 兩種重啟方式 3.關閉防火墻 依次執行如下三條命令 …

二進制部署Kubernetes1.32.4最新版本高可用集群及附加組件

一、前言 在云原生技術席卷全球的今天,Kubernetes(K8s)已成為容器編排領域的事實標準。當大家都習慣了kubeadm、kubeasz等自動化工具一鍵部署的便利時,選擇通過二進制方式手動搭建K8s集群更像是一場"知其然亦知其所以然&qu…

樹莓派系統中設置固定 IP

在基于 Ubuntu 的樹莓派系統中,設置固定 IP 地址主要有以下幾種方法: 方法一:使用 Netplan 配置(Ubuntu 18.04 及以上版本默認使用 Netplan) 查看網絡接口名稱 在終端輸入ip link或ip a命令,查看當前所使…

主流單片機與編程調試工具對應關系表梳理

單片機系列/型號 | 官方IDE/工具鏈 | 調試器/燒錄器 | 第三方支持工具 |調試接口協議 | 特點與適用場景| | STMicroelectronics (STM32) STM32全系列 STM32CubeIDE ST-LINK/V2/V3 - PlatformIO (VS Code插件) SWD/JTAG 官方集成開發環境,支持HAL庫,免費…

VulnHub-DarkHole_2靶機滲透教程

1.靶機部署 [Onepanda] Mik1ysomething 靶機下載:https://download.vulnhub.com/darkhole/darkhole_2.zip 直接使用VMware導入打開就行 注意:靶機的網絡連接模式必須和kali一樣,讓靶機跟kali處于同一網段,這樣kali才能掃出靶機…

USO服務器操作系統手動升級GCC 12.2.0版本

1. 從 GNU 官方 FTP 服務器下載 GCC 12.2.0 的源碼包,并解壓進入源碼目錄。 wget https://ftp.gnu.org/gnu/gcc/gcc-12.2.0/gcc-12.2.0.tar.gz tar -zxvf gcc-12.2.0.tar.gz cd gcc-12.2.0 2. 運行腳本下載并配置 GCC 編譯所需的依賴庫。此步驟會自動下載如 GMP…

設計模式基礎概念(行為模式):觀察者模式(Observer)

概述 我們可以發現這樣一個場景:如果你訂閱了一份雜志或報紙, 那就不需要再去報攤查詢新出版的刊物了。 出版社 (即應用中的 “發布者(publisher)”) 會在刊物出版后 (甚至提前) 直…

JavaFX實戰:從零到一實現一個功能豐富的“高級反應速度測試”游戲

大家好!今天我們不搞簡單的“紅變綠就點”了,來點硬核的!我們要用 JavaFX 從頭開始,構建一個更復雜、更有趣也更考驗能力的“高級反應速度測試”游戲。這個版本將引入選擇反應時 (Choice Reaction Time) 的概念——你需要在多個干…

CSS 選擇器介紹

CSS 選擇器介紹 1. 基本概念 CSS(層疊樣式表)是一種用于描述 HTML 或 XML 文檔外觀的語言。通過 CSS,可以控制網頁中元素的布局、顏色、字體等視覺效果。而 CSS 選擇器則是用來指定哪些 HTML 元素應該應用這些樣式的工具。 2. 基本選擇器 …

Vue3父子組件數據同步方法

在 Vue 3 中&#xff0c;當子組件需要修改父組件傳遞的數據副本并同步更新時&#xff0c;可以通過以下步驟實現&#xff1a; 方法 1&#xff1a;使用 v-model 和計算屬性&#xff08;實時同步&#xff09; 父組件&#xff1a; vue <template><ChildComponent v-mo…

el-table中el-input的autofocus無法自動聚焦的解決方案

需求 有一個表格展示了一些進度信息&#xff0c;進度信息可以修改&#xff0c;需要點擊進度信息旁邊的編輯按鈕時&#xff0c;把進度變為輸入框且自動聚焦&#xff0c;當鼠標失去焦點時自動請求更新接口。 注&#xff1a;本例以vue2 element UI為例 分析 這個需求看著挺簡單…

用高斯濺射技術跨越機器人模擬與現實的鴻溝:SplatSim 框架解析

在機器人領域&#xff0c;讓機器人在現實世界中精準執行任務是大家一直追求的目標。可模擬環境和現實世界之間存在著不小的差距&#xff0c;特別是基于 RGB 圖像的操作策略&#xff0c;從模擬轉移到現實時總是狀況百出。 今天咱們就來聊聊 SplatSim 框架&#xff0c;看看它是怎…

【自然語言處理與大模型】如何知道自己部署的模型的最大并行訪問數呢?

當你自己在服務器上部署好一個模型后&#xff0c;使用場景會有兩種。第一種就是你自己去玩&#xff0c;結合自有的數據做RAG等等&#xff0c;這種情況下一般是不會考慮并發的問題。第二種是將部署好的服務給到別人來使用&#xff0c;這時候就必須知道我的服務到底支持多大的訪問…

[FPGA基礎] UART篇

Xilinx FPGA UART 硬件接口使用指南 1. 引言 UART (通用異步收發器) 是一種廣泛使用的串行通信接口&#xff0c;因其簡單、可靠和易于實現而成為 Xilinx FPGA 設計中的常見硬件接口。UART 用于在 FPGA 與外部設備&#xff08;如 PC、微控制器、傳感器等&#xff09;之間進行數…

【Netty4核心原理】【全系列文章目錄】

文章目錄 一、前言二、目錄 一、前言 本系列雖說本意是作為 《Netty4 核心原理》一書的讀書筆記&#xff0c;但在實際閱讀記錄過程中加入了大量個人閱讀的理解和內容&#xff0c;因此對書中內容存在大量刪改。 本系列內容基于 Netty 4.1.73.Final 版本&#xff0c;如下&#xf…

用 PyTorch 和numpy分別實現簡單的 CNN 二分類器

作業用到的知識&#xff1a; 1.Pytorch: 1. nn.Conv2d&#xff08;二維卷積層&#xff09; 作用&#xff1a; 對輸入的多通道二位數據&#xff08;如圖像&#xff09;進行特征提取&#xff0c;通過滑動卷積核計算局部區域的加權和&#xff0c;生成新的特征圖。 關鍵參數&a…

使用n8n構建自動化工作流:從數據庫查詢到郵件通知的使用指南

n8n是一款強大的開源工作流自動化工具&#xff0c;可以幫助你將各種服務和應用程序連接起來&#xff0c;創建復雜的自動化流程。下面我將詳細介紹一個實用的n8n用例&#xff1a;從MySQL數據庫查詢數據并發送郵件通知&#xff0c;包括使用場景、搭建步驟和節點部署方法。 使用場…

Vscode已經打開的python項目,如何使用已經建立的虛擬環境

在 VS Code 中使用已創建的 Conda/Mamba 虛擬環境 pe100&#xff0c;只需以下幾步&#xff1a; 步驟 1&#xff1a;確保虛擬環境已存在 在終端運行以下命令&#xff0c;檢查 pe100 環境是否已正確創建&#xff1a; conda activate pe100 python --version # 應顯示 Python 3…

Volatility工具學習

背景 VMware虛擬機系統hang死&#xff0c;手動重啟無法觸發系統panic&#xff0c;從而不能觸發kdump產生vmcore文件進行原因分析&#xff1b;此種情況下需要手動生成虛擬機內存快照&#xff0c;進而利用Volatility工具分析系統hang死的具體原因。 配置 使用VMware創建虛擬機…