Java -- 网络编程(一):Client与Server之间的数据传送
目前對于我這種剛接觸網絡編程的豆芽來說,對網絡編程最直觀的了解就是:一些的Client和一個Server端之間的數據傳遞。具體當然是復雜的,但是那是我以后要學的。
今天我知道了可以通過Socket和DatagramSocket兩種套接字來進行Client和Server的鏈接,它們分別對應于TCP和UDP協議
DatagramPacket類:
DatagramPacket類是數據報包。
數據報包用來實現無連接包投遞服務。每條報文僅根據該包中包含的信息從一臺機器路由到另一臺機器。從一臺機器發送到另一臺機器的多個包可能選擇不同的路由,也可能按不同的順序到達。不對包投遞做出保證。我覺得這個是比較復雜抽象的理解,我個人就簡單的理解為一個裝了字節Buffer的包裹,包裹的上面寫了收信人的地址和姓名等信息(具體的就是端口號,IP,等等)。
DatagramSocket類通過receive和send方法進行收發數據報包,也就是收發DatagramPacket類的具體對象,從而實現Client和Server。之間的數據傳送。
Socket類:
? Socket套接字是對應與TCP協議的。除了TCP與UDP協議的不同帶來Socket與DatagramPacket的不同外。在傳送數據的途徑上Socket是通過InputStream和OutputStream兩個流。比如:
Socket socket = new Socket("cuishen.iteye.com",80); InputStream in = socket.getInputStream(); OutputStream out = socket.getOutputStream();
這三句相當于在Client和Server之間連接了兩個管子,一個流入,一個流出。
我今天是第一次接觸網絡編程這個概念,所以理解的都是表面的東西。但好歹是個好的開始。如有不對的請多指教。
轉載于:https://www.cnblogs.com/yujianjingjing/archive/2012/05/06/2486655.html
總結
以上是生活随笔為你收集整理的Java -- 网络编程(一):Client与Server之间的数据传送的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 【转】selector函数指针回调机制
- 下一篇: 信用卡上门催收条件是什么?最好别走到这一