為了方便開發網路應用程式,美國伯克利大學在unix上實現的一種應用程式訪問網路的通訊協議socket,socket的出現使程式設計師可以很方便的訪問tcp/ip。
使用tcp/ip的套接字(socket)進行通訊。
伺服器程式將乙個套接字繫結到乙個特定的埠,並通過此套接字等待和監聽客戶端到埠的連線請求。
客戶端程式根據伺服器程式所在的主機名和埠發出連線請求。
使用serversocket和socket實現伺服器端和客戶端的socket通訊
public
class
server
}
public
class
client
}
結果
udp是使用者資料報協議,基於udp的socket程式設計是一種非連線的socket通訊,它提供的是無連線、不可靠資訊傳送服務。
datagramsocket:用來傳送和接收資料報的套接字
datagrampacket:表示資料報
服務端步驟:
建立資料socket,指定乙個服務端埠號。
提供乙個byte陣列用於資料儲存。
呼叫datagrampacket的receive() 方法進行資料的接收;
呼叫datagrampacket的getdata()方法得到byte陣列的資料;
釋放資源。
public
class
server
}
客戶端步驟:
建立資料socket,指定乙個客戶端埠號。
提供乙個儲存了所傳送資料的byte陣列,提供服務端的ip位址和埠號。
呼叫datagrampacket的send()方法進行資料的傳送;
釋放資源。
public
class
client
}
結果
tcp面向連線,傳送資料前要先建立連線;udp是無連線的,傳送資料前不需要建立連線;
tcp連線傳送的資料,安全性好,無差錯,不丟失,不重複,且按序到達;udp盡最大努力交付,不保證可靠交付;
udp有較好的實時性,效能高,效率比tcp高,適用於對高速傳輸和實時性較高的通訊或廣播通訊;
每一條tcp連線只能是點到點的;udp支援一對一,一對多,多對一和多對多的互動通訊。
TCP與UDP的區別
面向連線的tcp 面向連線 就是在正式通訊前必須要與對方建立起連線。比如你給別人打 必須等線路接通了 對方拿起話筒才能相互通話。tcp協議能為應用程式提供可靠的通訊連線,使一台計算機發出的位元組流無差錯地發往網路上的其他計算機,對可靠性要求高的資料通訊系統往往使用tcp協議傳輸資料。面向非連線的ud...
tcp 與udp 的區別
tcp提供面向連線 可靠的位元組流服務。udp提供面向資料報的傳輸層協議。1.tcp 提供客戶與伺服器之間的連線。tcp客戶與某個伺服器建立乙個連線,再跨跨該連線與伺服器交換資料,最後終止連線。2.tcp提供可靠性。當tcp向對端傳送資料時,要求對端返回乙個確認。如果沒收到確認,tcp就自動重傳資料...
TCP與UDP的區別
tcp transmission control protocol,傳輸控制協議 是基於連線的協議,也就是說,在正式收發資料前,必須和對方建立可靠的連線。乙個tcp連線必須要經過三次 對話 才能建立起來,其中的過程非常複雜,我們這裡只做簡單 形象的介紹,你只要做到能夠理解這個過程即可。我們來看看這三...