socket程式設計中常見的概念問題!

千鋒武漢發表於2021-05-18

      socket程式設計一般指的就是網路程式設計,常見的服務端和客戶機都是必不可少的,今天小千就來給大家介紹一下socket程式設計中常見的概念問題。

      一、常見傳輸協議

      1、tcp協議

      TCP (Transmission Control Protocol,傳輸控制協議):“面向連線 ”,可靠的、基於位元組流的運輸層(Transport layer)通訊協議 。

      面向連線服務要經過三個階段:資料傳數前,先建立連線,連線建立後再傳輸資料,資料傳送完後,釋放連線。面向連線服務,可確保資料傳送的次序和傳輸的可靠性。

      2、udp協議

      UDP(User Datagram Protocol ,使用者資料包協議):“面向非連線”,在正式通訊前不必與對方先建立連線,不管對方狀態就直接傳送。

      無連線服務的特點是:無連線服務只有傳輸資料階段。消除了除資料通訊外的其它開銷。

      3、IP協議

      IP( Internet Protocol ):計算機網路相互連線進行通訊而設計的協議。網際網路地址或Internet地址。是用來唯一標識網際網路上計算機的邏輯地址。

1

      二、URL實現網頁靜態化

      類 URL 代表一個統一資源定位符,它是指向網際網路“資源”的指標。利用他可以獲得網路資源,讀取WWW伺服器上的資料。

      這裡我們將讀取到的資料轉換為流,然後儲存到本地(類似網頁靜態化)。

2

      三、TCP套接字

      為了區別不同的應用程式程式和連線,許多計算機作業系統為應用程式與TCP/IP協議互動提供了稱為套接字(Socket)的介面。

      Socket可以看作是通訊連線兩端的收發器。

3

      套接字,Socket是網路上執行的程式之間雙向通訊鏈路的端點。 Socket所要完成的通訊就是基於連線的通訊,建立連線所需的程式分別執行在客戶端和伺服器端。 套接字連線就是客戶端的套接字物件和伺服器端的套接字物件透過輸入/輸出流連線在一起。

      2、TCP套接字

      在Java中,套接字(通訊端點)被抽象為類,我們只需要建立Socket類的物件,就可以使用套接字。 Socket中有輸入輸出流物件,同時能實現伺服器之間的資料傳輸。

      3、Socket部分

      透過將這3個引數結合起來,與一個Socket繫結,應用層就可以和傳輸層透過套接字介面,區分來自不同應用程式程式或網路連線的通訊,實現資料傳輸的併發服務。

      一個程式(Program B )將一段資訊寫入Socket中,該Socket將這段資訊傳送給另外一個Socket(Program A)中,使這段資訊能傳送到其他程式中。

      Socket工作步驟:

      a、建立連線

      在伺服器端透過指定一個用來等待的連線的埠號建立一個 ServerSocket例項.

      在客戶端透過主機和埠號建立一個 socket例項,連到伺服器上.

      ServerSocket類的accept方法使伺服器處於阻塞狀態,等待使用者請求

      b、資料通訊

      建立socket連線後,還應該建立輸入輸出資料流,客戶程式可以向Socket寫入請求,伺服器程式處理請求,並把處理結果透過Socket返回給客戶端,完成透過虛擬通道的資料通訊;

      c、拆除連線

      通訊結束,將所建立的虛擬連線全部拆除。

      以上就是關於Java socket程式設計的介紹了,希望能幫到大家。


來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/31548651/viewspace-2772700/,如需轉載,請註明出處,否則將追究法律責任。

相關文章