计算机之间是如何实现通信的?—Vecloud微云
如今,計算機網絡已經成為我們日常生活的必需品,無論是工作時發送郵件,還是上網聊天,都離不開計算機網絡,那么,什么是計算機網絡呢?多臺計算機之間是如何實現連接并且進行數據交換的呢?
計算機網
所謂的計算機網絡簡單來說就是指通過某一種方式將多臺計算機進行連接并實現計算機彼此之間的互聯和數據交換。
在計算機網絡中,計算機之間要實現連接和通信,就需要遵守一定的規則,我們把這種連接和通信的規則稱為網絡通信協議,它對數據的傳輸格式,傳輸速率和傳輸步驟等都做了統一規定,通信雙方都必須遵守才能完成數據交換。
UDP 通信
UDP 是一種面向無連接的協議,因此在通信時發送端和接受端不用建立連接。
1.接收端:在創建 DatagramSocket 對象時,指定其監聽的端口號,然后發送端就可以根據這個端口號來與之通信。簡單來說,接收端要做的事情就
DatagramSocket 對象通過 DatagramPacket 這個「包」來接收發送端發送的數據,DatagramPacket
調用方法獲得「拆解」接收到的信息并顯示給用戶!代碼如下:
2.發送端:在創建 DatagramSocket 對象的時候需要指定目標 IP 地址和端i口號,而且端口號必須和接收端指定的一致 「暗號」,這樣調用
DatagramSocket 的 send 方法時才能將數據發送到對應的接收端,主要代碼如下:
TCP 通信
TCP 和 UDP 一樣,都能實現兩臺計算機之間的通信,兩端都需要建立 Socket 對象,區別在于,UDP
中只有發送端和接收端,不區分客戶端和服務端,而 TCP
通信嚴格區分客戶端和服務端,在通信的時候,必須先由客戶端去連接服務端才能實現通信「進行三次握手」,服務端不可以主動連接客戶端。
1.服務端:在客戶端發送數據前,服務端程序會暫時停止運行,accept()方法發生阻塞,直到客戶端訪問時才會結束這種阻塞狀態。代碼如下:
2. 客戶端:在客戶端創建 Socket 對象與服務器建立連接后,通過 Socket 對象獲取輸入流讀取服務器端發來的數據,并打印結果。代碼如下:
總結
以上是生活随笔為你收集整理的计算机之间是如何实现通信的?—Vecloud微云的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 杜梨树长了40年周长1米1价格是多少
- 下一篇: 解答MPLS基础的路由问题—Veclou