Java Socket程式設計 1 基本的術語和概念

2021-06-26 09:37:26 字數 1463 閱讀 9207

計算機網路由一組通過通訊通道(communication channel)相互連線的機器組成。這些機器被稱為:主機(hosts)和路由器(routers):

tcp/ip網路通訊流程圖:

協議相當於相互通訊的一種約定,協議規定了分組報文的交換方式和它們包含意義。

網際網路所使用的協議是 tcp/ip 協議,tcp/ip 協議族主要包括:

ip協議

tcp 協議

tcp協議能夠檢測和恢復ip層提供的主機到主機的通道中可能發生的報文丟失、重複以及其他錯誤。tcp協議是一種面向連線(connection oriented)協議:在使用它進行通訊之前,兩個應用程式之間首先要建立乙個tcp連線,這涉及兩台相互通訊的主機的tcp部件間完成的握手訊息(handshake message)的交換。

udp 協議

udp協議並不嘗試對ip層產生的錯誤進行修復,它僅僅簡單拓展了ip協議,"盡力而為"的資料服務,使它能夠在應用程式之間工作,而不是在主機之間工作。使用udp協議的應用程式需要對處理報文丟失、順序混亂等問題做好準備。

在tcp/ip協議中,有兩部分資訊用來定位乙個指定的程式:網際網路位址(internet address)和埠號(port number,範圍1-65535)。前者由ip協議使用,後者由傳輸協議(tcp/udp)對其進行解析。

網際網路位址有二進位制數字組成,有兩種形式:ipv4(32位)和ipv6(128位)。為了方便使用,兩個版本的ip協議有不同的表示方法:

回環位址

回環位址(loopback address)是被分配的乙個特殊的回環介面(loopback inte***ce),回環介面是一種虛擬裝置,它的功能只是簡單的把傳送給它的報文立即返回給傳送者。如ipv4中的:127.0.0.1

dns是一種分布式資料庫,它將向www.baidu.com這樣的網域名稱對映到真實的網際網路位址和其他資訊上。dns協議允許連線到網際網路的主機通過tcp或者udp協議從dns資料庫獲取資訊。

本地配置資料庫通常是一種與具體作業系統相關的機制,用來實現本地與網際網路位址的對映。

客戶端(client)和伺服器(server)這兩個術語分別代表了兩種角色: 

socket(套接字)是一種抽象層,應用程式通過它來傳送和接受資料,就像應用程式開啟乙個檔案控制代碼,將資料讀寫到穩定的儲存器上一樣。

在tcp/ip協議族中的主要socket型別為:

Java Socket程式設計

一般,就這麼的形式,熟悉後就這麼用了。客戶端 首先,建立客戶端套接字 socket s new socket ip,port 通過套接字,可以獲得輸入流和輸出流 inputstream is s.getinputstream outputstream os s.getoutstream 接下來就是對...

java socket程式設計

1.什麼是socket 所謂socket通常也稱作 套接字 用於描述ip位址和埠,是乙個通訊鏈的控制代碼。應用程式通常通過 套接字 向網路發出請求或者應答網路請求。2.客戶端和伺服器端通過socket傳送訊息和接收訊息的過程 接收訊息的過程 傳送訊息的過程 server端listen 監聽 某個埠是...

Java socket程式設計

對tcp ip udp socket程式設計這些詞你不會很陌生吧?隨著網路技術的發展,這些詞充斥著我們的耳朵。那麼我想問 1.什麼是tcp ip udp?2.socket在 呢?3.socket是什麼呢?4.你會使用它們嗎?什麼是tcp ip udp?tcp ip transmission cont...