網絡編程 JAVA

一.網絡編程

1. 什么是網絡編程?

????????網絡編程是指利用計算機網絡實現程序之間通信的一種編程方式。在網絡編程中,程序需要通過網絡協議(如 TCP/IP)來進行通信,以實現不同計算機之間的數據傳輸和共享。

2.? 三個基本要素
????????①IP 地址:定位網絡中某臺計算機
????????????????IP 地址用于唯一標識網絡中的每一臺計算機。在 Internet 上,使用 IPv4 或 IPv6 地址來表示 IP 地址
????????②端口號port:定位計算機上的某個進程(某個應用)
????????③通信協議:通過IP地址和端口號定位后,如何保證數據可靠高效的傳輸,這就需要依靠通信協議了。

用 IP 找對設備,用端口找對程序,用協議管好數據傳輸

二. IPv4 與 IPv6 地址長度筆記

三.?網絡通信協議

? ? 在計算機網絡中,連接和通信的規則被稱為網絡通信協議,它對數據的傳輸格式、傳輸速率、傳輸步驟等做了統一規定,通信雙方必須同時遵守才能完成數據交換。

1.TCP

TCP 是?傳輸控制協議(Transmission Control Protocol)?的縮寫,是互聯網中最核心的協議之一,屬于 TCP/IP 協議族的重要組成部分。

????????它的主要作用是在網絡中兩臺設備之間建立可靠的、面向連接的數據傳輸通道,確保數據能完整、有序地送達。

TCP 的核心特點:

  • 面向連接:通信前必須通過 “三次握手” 建立連接,通信結束后通過 “四次揮手” 斷開連接,類似打電話前先撥號確認對方接聽。
  • 可靠傳輸:如果數據傳輸中丟失或出錯,TCP 會自動重傳,并按順序重組數據,保證接收方收到完整、正確的信息。
  • 流量控制:根據接收方的處理能力調整發送速度,避免對方因數據過多而處理不過來。

????????我們日常使用的很多服務(如瀏覽網頁的 HTTP/HTTPS、發送郵件、文件傳輸等)都依賴 TCP 協議來保證數據傳輸的可靠性。

2.UDP?

????????UDP 是?用戶數據報協議(User Datagram Protocol)?的縮寫,也是 TCP/IP 協議族中重要的傳輸層協議,與 TCP 并列但特點截然不同。

UDP 的核心特點:

  • 無連接:通信前不需要建立連接(比如 “三次握手”),直接發送數據,類似寫信時直接投遞,不需要提前確認對方是否準備好。
  • 不可靠傳輸:不保證數據一定送達,也不保證接收順序,若數據丟失或出錯,不會自動重傳。
  • 傳輸速度快:由于省去了連接建立、確認、重傳等流程,開銷小,延遲低。

3.FTP

????????FTP 是?文件傳輸協議(File Transfer Protocol)?的縮寫,是專門用于在網絡中實現文件傳輸的標準協議。

????????它的核心功能是讓客戶端(本地設備)與服務器(遠程設備)之間進行文件的上傳(從本地傳到服務器)、下載(從服務器傳到本地),以及對服務器上的文件 / 目錄進行查看、創建、刪除、重命名等管理操作。

????????不過,FTP 的一大局限是?默認采用明文傳輸(包括用戶名、密碼和文件內容),安全性較低,容易被第三方竊聽。因此,現在更多使用基于加密的替代方案,比如 SFTP(SSH 文件傳輸協議)或 FTPS(基于 SSL/TLS 的 FTP),來提升文件傳輸的安全性。

????????常見用途包括網站管理員上傳網頁文件到服務器、從特定資源服務器下載軟件或資料等。

四 . OSI模型

通信子網的核心功能

通信子網是計算機網絡中負責數據傳輸、交換和路由的部分(由路由器、交換機、通信鏈路等硬件組成),其核心任務是:

  • 在源主機和目標主機之間建立數據傳輸路徑;
  • 確保數據準確、高效地從一端傳遞到另一端;
  • 應對網絡擁堵、故障等問題,維持傳輸的穩定性。

物理層、 利用傳輸介質數據鏈路層提供物理連接,負責處理數據傳輸并監控數據出錯率,以便數據流的透明傳輸。?? 比特流

數據鏈路層、數據鏈路層在物理層提供的服務基礎上,在通信的實體間建立數據鏈路連接,傳輸以“幀”為單位的數據包,并采用差錯控制與流量控制方法,使 有差錯的物理線路 變成 無差錯的數據鏈路。

網絡層、為數據在節點之間傳輸創建邏輯鏈路,通過路由選擇算法分組通過通信子網選擇最適當的路徑,以及實現擁塞控制、網絡互連等功能。

傳輸層、根據通信子網的特性最佳的利用網絡資源,并以可靠和經濟的方式,為兩個端系統(源站 和 目的站)的會話層之間,提供建立、維護和取消傳輸連接的功能,負責可靠地傳輸數據。它是計算機通信體系結構中關鍵的一層。在這一層,信息的傳送單位是報文。? ?

??

會話層、負責維擴兩個結點之間的傳輸連接,以便確保點到點傳輸不中斷,以及管理數據交換等功能

表示層? 處理在兩個通信系統中交換信息的表示方法,主要包括數據格式變換、數據加密與解密、數據壓縮與恢復等功能。

應用層 ?確定進程之間通信的性質以滿足用戶需要以及提供網絡與用戶應用軟件之間的接口服務

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

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

相關文章

UE5中的cesium

官方Fab地址(https://www.fab.com/zh-cn/),每月可下載免費素材 在UE5中添加插件cesium for unreal, 知識點一:服務器部署.b3dm地形數據 通過在線鏈接訪問數據目錄tileset.json,在cesium for unreal添加空白…

持續優化小程序排名,穩定獲取搜索流量

一、建立動態關鍵詞管理機制周期性關鍵詞迭代每月通過平臺搜索分析工具(如微信小程序后臺)抓取用戶搜索詞趨勢,淘汰搜索量下降的關鍵詞,補充行業熱點詞與長尾需求詞。按 “核心詞 季節 / 場景詞” 動態調整名稱與簡介&#xff08…

MyBatis 進階:連接池、動態 SQL 與多表關聯查詢

MyBatis 作為一款靈活的持久層框架,除了基礎的 CRUD 操作,還提供了連接池管理、動態 SQL 以及多表關聯查詢等高級特性。本文將從連接池原理出發,深入講解動態 SQL 的常用標簽,并通過實例演示一對多、多對多等復雜關聯查詢的實現&a…

反射型跨站點腳本(XSS)漏洞中網絡安全防火墻(WAF)被繞過進行內容植入與遠程劫持機制分析

在一次安全測試中&#xff0c;我發現目標站點在錯誤處理頁面對用戶輸入的查詢參數名未做任何轉義&#xff0c;當參數名中包含 <script> 標簽時&#xff0c;頁面會原樣渲染并執行其中的 JavaScript。本文將從實戰角度&#xff0c;詳細講解如何定位該反射型 XSS 漏洞、通過…

RAG實戰指南 Day 15:多語言與領域特定嵌入技術

【RAG實戰指南 Day 15】多語言與領域特定嵌入技術 引言 歡迎來到"RAG實戰指南"系列的第15天&#xff01;今天我們將深入探討多語言與領域特定嵌入技術——這是構建全球化、專業化RAG系統的關鍵技術。在現實業務場景中&#xff0c;我們經常需要處理多種語言的文檔&a…

無鉛PCB和無鹵pcb有什么區別?

在電子制造領域&#xff0c;環保法規的升級催生了多種特殊工藝的PCB產品。其中&#xff0c;無鉛PCB與無鹵PCB作為兩大主流方向&#xff0c;雖同屬綠色制造范疇&#xff0c;卻在技術路徑與應用場景上存在本質差異。環保指向的根本區別無鉛PCB的核心在于焊接材料的革新。傳統PCB采…

基于51單片機的貪吃蛇游戲Protues仿真設計

目錄 1 系統設計目的 2 系統實現功能 3 系統硬件設計 3.1系統設計框圖 3.2 液晶顯示模塊LCD12864 3.3 按鍵輸入模塊 3.4 時鐘電路和復位電路 4 系統軟件設計 4.1系統軟件流程 4.2 游戲引擎模塊程序設計 4.3 顯示模塊程序設計 4.4 輸入處理模塊程序設計 5 系統仿真…

HTML+CSS

一、HTML相關內容- <img> 標簽&#xff1a;- 用于在網頁中嵌入圖像&#xff0c; src 屬性指定圖像的路徑&#xff0c;可以是絕對路徑&#xff08;如 D:\Git\java115_java116\課堂代碼\前端代碼\pic\cat.jpg &#xff09;、相對路徑&#xff08;如 ./pic/cat.jpg &#x…

基于 Gitlab、Jenkins與Jenkins分布式、SonarQube 、Nexus 的 CiCd 全流程打造

前言 在當今數字化飛速發展的時代&#xff0c;軟件開發與交付的效率和質量成為了企業競爭的關鍵要素。為了滿足市場對軟件快速迭代和高質量交付的需求&#xff0c;越來越多的企業開始探索和實踐持續集成與持續交付&#xff08;CI/CD&#xff09;的開發模式。而 GitLab、Jenkin…

[密碼學實戰]密評相關題庫解析

[密碼學實戰]密評相關題庫解析 一、背景 依據《密碼法》第二十二條&#xff0c;關鍵信息基礎設施&#xff08;關基&#xff09;運營者必須開展商用密碼應用安全性評估&#xff0c;且需定期進行&#xff08;不少于每年一次&#xff09;。 二、核心解析 2.1 測評標準框架&#x…

谷歌開源庫gflags詳細說明

目錄 一.gflags 介紹 二.gflags安裝 三.gflags使用 1.包含頭文件 2.定義參數 3.訪問參數 4.不同文件訪問參數 5.初始化所有參數 6.運行參數設置 7.配置文件的使用 8.特殊參數標識 四.總結 一.gflags 介紹 gflags 是 Google 開發的一個開源庫&#xff0c;用于 C 應用…

Python爬蟲實戰:研究XlsxWriter 庫相關技術

1. 研究背景與意義 1.1 網絡爬蟲技術價值 網絡爬蟲作為數據采集的核心工具,在金融、醫療、教育等領域發揮關鍵作用。據 Statista 數據顯示,2025 年全球大數據市場規模預計達 3250 億美元,高效的數據獲取能力成為企業核心競爭力。Python 以其 80% 的市場占有率成為爬蟲開發首…

ThreadLocal內部結構深度解析(Ⅰ)

目錄 使用ThreadLocal 例子 內部結構分析 源碼解析 圖示詳解 ThreadLocal是Java中一個非常重要且常用的線程局部變量工具類&#xff0c;它使得每個線程可以獨立地持有自己的變量副本&#xff0c;而不是共享變量&#xff0c;解決了多線程環境下變量共享的線程安全問題。下面我…

Python 數據挖掘之數據探索

在數據挖掘的流程中&#xff0c;數據探索是非常關鍵的第一步&#xff0c;它能幫助我們深入了解數據的特點&#xff0c;為后續的預處理和模型構建打下堅實的基礎。我們主要圍繞四個方面展開&#xff1a;數據對象與特征、數據統計描述、數據可視化以及相關性和相似性度量。一、數…

高并發點贊場景Synchronized、AtomicLong、LongAdder 和 LongAccumulator性能分析

在高并發點贊場景中&#xff0c;我們需要一個高效、線程安全的計數器來記錄點贊數。synchronized、AtomicLong、LongAdder 和 LongAccumulator 都是 Java 中用于實現原子操作的類&#xff0c;但它們的性能在高并發下差異顯著。性能主要取決于線程競爭程度&#xff1a;競爭越高&…

postgreSQL的sql語句

目錄 一&#xff1a;前提準備1.postgreSQL的安裝可以參考我下面一片文章&#xff1a; 二&#xff1a;SQL語句 1.相同點&#xff1a;支持標準sql類型 2.參考詳細學習地址&#xff1a; 3.postgresql與mysql的不同點 一&#xff1a;前提準備 1.postgreSQL的安裝可以參考我下面…

vue3 JavaScript 數據累加 reduce

在Vue 3中&#xff0c;你可以使用JavaScript的reduce方法來處理數據累加。reduce方法通常用在數組上&#xff0c;它將數組中的每個元素通過一個累加器函數&#xff08;accumulator&#xff09;從左到右累積&#xff0c;最終生成一個單一的值。這在計算總和、累加值等場景中非常…

史上最清楚!讀者,寫者問題(操作系統os)

讀者-寫者問題是另一個里程碑式的同步互斥問題。它比生產者-消費者更復雜&#xff0c;因為它引入了不對稱的訪問權限&#xff1a;讀者和讀者之間是共享的&#xff0c;但寫者和任何人&#xff08;包括讀者和其他寫者&#xff09;之間都是互斥的。我們用一個生動的比喻來解析這個…

使用Starrocks替換Clickhouse的理由

背景 Starrocks和clickhouse都是非常優秀的OLAP數據庫&#xff0c;那么什么情況下使用clickhouse&#xff0c;什么場景下使用starrocks呢&#xff0c;本文就簡單列舉一下他們的優缺點 理由 首先兩者都是列存儲&#xff0c;并且都實現了列壓縮&#xff0c;所以從存儲中兩者的壓縮…

Mybatis 兩級緩存可能導致的問題

Mybatis 兩級緩存可能導致的問題兩級緩存簡介一級緩存 localCache效果開關二級緩存兩級緩存可能導致的問題分布式環境下查詢到過期數據事務隔離級別失效讀已提交失效讀未提交失效總結兩級緩存簡介 一級緩存 localCache 效果 一級緩存是 session 或者說事務級別的&#xff0c…