1. 程式人生 > >java基礎----網路協議及網路通訊

java基礎----網路協議及網路通訊

網路協議:

  • TCP:傳輸控制協議(傳輸層),三次握手建立連線,保證連線準確性;四次揮手斷開連線,報頭最小長度20位元組
    • 客戶端:同步訊號SYN=1,隨機序列號SEQ=X
    • 服務端:同步訊號SYN=1,報文ACK=X+1,隨機序列號Y
    • 客戶端:同步訊號SYN=0,報文ACK=Y+1
  • UDP:使用者資料包協議(傳輸層),面向無連線的協議,報頭8位元組
  • HTTP:超文字傳輸協議(應用層),基於請求和響應模式、無狀態的協議,特點有:
    • 支援C(客戶端)/S(伺服器)模式
    • 靈活:允許傳輸任意型別的資料物件
    • 無連線:每次響應一個請求後就斷開連線
    • 無狀態:對事務處理沒有記憶能力

java網路請求:

Socket:tcp/ip協議的封裝和應用

  • TCP程式設計:對網路通訊質量有要求時,例如傳輸檔案,瀏覽網頁,簡單使用過程:
    • 伺服器端:定義ServerSocket物件ss,傳進埠號引數(例如6666),呼叫ss.accept()方法,等待客戶端連線,注意這方法會執行緒阻塞,連線成功(accept()執行完)會返回一個Socket物件,通過這個物件獲取輸入輸出流就可以和客戶端進行通訊了
    • 客戶端:定義Socket物件s,傳進引數(目標主機IP地址,目標埠號),因為是測試,所以IP填自己IP地址(localhost),埠號填上面的6666,在上面例項化s後就已經連線上伺服器端ss了,通過s獲取輸入輸出流就可以和伺服器端進行通訊了
  • UDP程式設計:對網路通訊質量要求不高時,例如,實時語音,視訊聊天,發生掉包也影響不大

HttpURLConnection:對Http協議的封裝和應用,簡單使用過程:

  1. 例項化URL物件,傳入網路地址
  2. 通過url.openConnection獲得HttpURLConnection物件connection
  3. 對connection設定GET或者POST方式決定是請求資料,還是想伺服器傳送資料
  4. 設定連線時間和讀取時間
  5. 獲取輸入輸出流,對流進行轉換為容易進行操作的其他流,例如BufferedRead,DataOutPutStream等等
  6. 最後一定要記得對流進行關閉,呼叫close()方法

相關推薦

java基礎----網路協議網路通訊

網路協議: TCP:傳輸控制協議(傳輸層),三次握手建立連線,保證連線準確性;四次揮手斷開連線,報頭最小長度20位元組 客戶端:同步訊號SYN=1,隨機序列號SEQ=X 服務端:同步訊號SYN=1

網路協議網路軟體框架設計

網路協議 TCP/IP (網路控制協議和網際協議) OSI 與 UNIX系統中協議的對應關係圖,及不同網路在OSI中的位置   OSI 開放式系統互聯參考模型 UNIX系統 應用層(Application) ------> ------> -

網路通訊網路協議網路程式設計

參考書籍:(我只是一個知識搬運工,把知識點總結了起來。) [1] 金鬆河,王捷,黃永麗.Java程式設計經典課堂[M].北京:北京大學出版社,2014年8月第1版:323-326 [2] 謝均,謝希仁.計算機網路教程[M].北京:人民郵電出版社,2014年9月第4版:23-

java基礎面試題程式設計題

一程式題 1.判斷101-200之間有多少個素數,並輸出所有素數。(這道題校招筆試常考) package day1; public class Day1{ public static void main(String []args){ int count=0; f

《Android中高階工程師面試指南 — 網路協議網路框架面試講解 — OKHttp》

前言   Volley、OKHttp和Retrofit都是Android開發中經常使用的網路框架。Volley內部是使用HttpClient實現的,Retrofit是基於OKHttp實現的,同時在Android6.0之後,Google把HttpClient從SDK中移除,這就導致OK

趣談網路協議---容器網路之Flannel:每人一畝三分地

Kubernetes,可靈活地將一個容器排程到任何一臺機器上,還可修改容器的副本數。 要解決的重要問題,是通訊。 1、應用將自己環境的 IP 和埠註冊到註冊中心指揮部,方便其他應用請求。如果發生變化,重新註冊。 2、應用如何相互通訊?通過 Flannel。 (

java基礎08_Collection集合泛型

主要內容 Collection 集合、 迭代器、 增強 for、 泛型 1. Collection 集合 集合 :集合是java中提供的一種容器,可以用來儲存多個數據。 集合和陣列既然都是容器,區別為: 陣列的長度是固定的。集合的長度是可變的。 陣列中儲存

藍芽Mesh網路效能網路特點總結(二)

原文連結:(歡迎關注公眾號 智聯網事,一週一篇原創文章,一起探討智聯網) https://mp.weixin.qq.com/s?__biz=MzI3NDE2NDMwNQ==&mid=2649905766&idx=1&sn=27820d890dc9ed91f305b86d0

藍芽Mesh網路效能網路特點總結(一)

原文連結:(歡迎關注公眾號 智聯網事,一週一篇原創文章,一起探討智聯網) https://mp.weixin.qq.com/s?__biz=MzI3NDE2NDMwNQ==&mid=2649905751&idx=1&sn=5a4bcfbb3badfbe2646039884

java基礎面試題答案

答案: 1. Arrays.sort實現原理和Collection實現原理 答:Arrays.sort():快排 Collections.sort() :MergeSort,後來變成了TimSort 2. foreach和while的區

黑馬程式設計師——java基礎之string集合

<span style="font-family:SimSun;font-size:18px;">class TreeSetDemo { public static void main(String[] args) { TreeSet ts = new TreeSet(); ts.

java基礎-各種型別轉換(int,string,char,short,date)

java資料型別和c/c++相似,但java是面向物件程式設計,和其他語言有一定的區別,下面請看幾個例子。 寫給初學者看的,我的第一篇部落格。。高手勿噴。。。有錯請指出~謝謝! 如: (一)整型int: int a=0;//整型變數a Integer b=0;//Inte

“全棧2019”113篇Java基礎學習資料總結

http 區別 super關鍵字 info final關鍵字 控制 一個 常量 com 難度 初級 學習時間 10分鐘 適合人群 零基礎 開發語言 Java 開發環境 JDK v11 IntelliJ IDEA v2018.3 文章原文鏈接 “全棧2019”Java第一

網路封鎖網路突破連帶VPN那點事

五一快來了: 原來是打算髮布 CYQ.Data 的V5版本或者寫愛說說的相關技術文章, 後來想了想,也不和大夥糾結專業技術性問題。 今天就把一篇封存多年的草稿文章給寫完了,和大夥說點不太技術的事情。 直入主題 1:糾結的是什麼? 目前,很多“地方”都有網管封鎖,連小家

網路協議網路分層的真實含義是什麼?

最近學習了極客時間,劉超老師的課程,記錄下課程中的重點部分。 一、網路為什麼要分層?   因為,是個複雜的程式都要分層,分層可以更好的明確每一層的職責。   理解計算機網路中的概念,一個很好的角度是,想象網路包就是一段Buffer,或者一塊記憶體,是有

Android 網路請求網路狀態判斷

文章轉載: 網址:http://blog.csdn.net/anye_anye/article/details/50569114 Android 中判斷網路連線是否可用 一、判斷網路連線是否可用 public static boolean isNetworkAv

OSI七層網路協議網路協議的層次結構

網路協議的層次結構: 1. OSI七層模型:OSI(Open System Interconnect),即開放式系統互聯 第一層:物理層 作用:透明地傳輸位元流。為資料端裝置提供傳送資料通路、傳輸資料 重要協議:RJ45, Ethernet, 802.3, 802.5 常

嵌入式Linux網路程式設計,網路基礎,OSI七層模型,TCP/IP四層模型,TCP/IP通訊模型、協議結構、封包與拆包,TCP/UDP協議特點適用情況

文章目錄 1,TCP協議分成了兩個不同的協議----->TCP/IP協議誕生 2,網路的體系結構 2.1,OSI開放系統互聯模型 2.2,TCP/IP協議族的體系結構 3,TCP/IP協議通訊模型 3.1

網路程式設計之網路通訊要素(ip,埠,協議Socket

1.IP地址:InetAddress物件 網路中裝置的標識 不易記憶使用主機名字 本地迴環地址 :127.0.0.1,主機名:localhost www.baidu.com 全球資訊網.主機名.所屬組織(在cmd中 pinglocalhost package

回合制遊戲網路通訊協議心跳機制調研

回合制策略遊戲 回合制策略遊戲是策略遊戲的一種子型別,所有的玩家輪流自己的回合,只有自己的回合,才能夠進行操縱。早期的戰略由於硬體運算能力有限,在考量遊戲樂趣的情況下,多半採取這種型式。 主要分類 戰棋類遊戲 SLG:角色扮演因素較少,戰鬥以整體策