socket編程一般指的就是網絡編程,常見的服務端和客戶機都是必不可少的,今天小千就來給大家介紹一下socket編程中常見的概念問題。
一、常見傳輸協議
1、tcp協議
TCP (Transmission Control Protocol,傳輸控制協議):“面向連接 ”,可靠的、基于字節流的運輸層(Transport layer)通信協議 。
面向連接服務要經過三個階段:數據傳數前,先建立連接,連接建立后再傳輸數據,數據傳送完后,釋放連接。面向連接服務,可確保數據傳送的次序和傳輸的可靠性。
2、udp協議
UDP(User Datagram Protocol ,用戶數據包協議):“面向非連接”,在正式通信前不必與對方先建立連接,不管對方狀態就直接發送。
無連接服務的特點是:無連接服務只有傳輸數據階段。消除了除數據通信外的其它開銷。
3、IP協議
IP( Internet Protocol ):計算機網絡相互連接進行通信而設計的協議。互聯網地址或Internet地址。是用來唯一標識互聯網上計算機的邏輯地址。
二、URL實現網頁靜態化
類 URL 代表一個統一資源定位符,它是指向互聯網“資源”的指針。利用他可以獲得網絡資源,讀取WWW服務器上的數據。
這里我們將讀取到的數據轉換為流,然后保存到本地(類似網頁靜態化)。
三、TCP套接字
為了區別不同的應用程序進程和連接,許多計算機操作系統為應用程序與TCP/IP協議交互提供了稱為套接字(Socket)的接口。
Socket可以看作是通信連接兩端的收發器。
套接字,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編程的介紹了,最后歡迎對Java開發感興趣的同學來到千鋒java培訓班了解我們的java學習課程,現在咨詢更有免費java學習資料可以領取,趕緊去找在線老師申領吧。