網絡編程--UDP程序設計

網絡編程--UDP程序設計
UDP程序設計java

在TCP的索引操做都必須創建可靠地鏈接,這樣一來確定會浪費大量的系統性能,爲了減小這種開銷,在網絡中又提供了另一種傳輸協議---UDP,不可靠的鏈接,這種協議在各個聊天工具中被普遍的應用。UDP開發中使用DatagramPacket包裝一條要發送的信息,以後使用DatagramSocket用於完成信息的發送操做。例如:如今使用聊天工具進行聊天的功能,那麼A的發送的信息B不必定能夠接受的到,由於使用的是UDP的協議。UDP中主要是使用數據報協議發送的。

DatagramPacket中的方法編程

是包含真實的是要發送的信息,稱爲數據報
全部的數據報使用DatagramPacket進行發送的操做
DatagramSocket服務器

那麼若是要想運行程序,則在數據報的開發中,應該首先保證客戶端要打開
[Java] 純文本查看 複製代碼
?網絡

import java.net.DatagramPacket ;
import java.net.DatagramSocket ;工具

public class UDPClient{性能

public static void main(String args[]) throws Exception{    // 全部異常拋出
    DatagramSocket ds = null ;        // 定義接收數據報的對象
    byte[] buf = new byte[1024] ;    // 開闢空間,以接收數據
    DatagramPacket dp = null ;        // 聲明DatagramPacket對象
    ds = new DatagramSocket(9000) ;    // 客戶端在9000端口上等待服務器發送信息
    dp = new DatagramPacket(buf,1024) ; // 全部的信息使用buf保存
    ds.receive(dp)  ;    // 接收數據
    String str = new String(dp.getData(),0,dp.getLength()) + "from " + 
        dp.getAddress().getHostAddress() + ":" + dp.getPort() ;
    System.out.println(str) ;    // 輸出內容
}

};
要進一步等待服務器發送信息
[Java] 純文本查看 複製代碼
?.net

import java.net.DatagramPacket ;
import java.net.DatagramSocket ;
import java.net.InetAddress ;設計

public class UDPServer{code

public static void main(String args[]) throws Exception{    // 全部異常拋出
    DatagramSocket ds = null ;        // 定義發送數據報的對象
    DatagramPacket dp = null ;        // 聲明DatagramPacket對象
    ds = new DatagramSocket(3000) ;    // 服務端在3000端口上等待服務器發送信息\
    String str = "hello World!!!" ;
    dp = new DatagramPacket(str.getBytes(),str.length(),InetAddress.getByName("localhost"),9000) ; // 全部的信息使用buf保存
    System.out.println("發送信息。") ;
    ds.send(dp);    // 發送信息出去
    ds.close() ;
}

};
UDP 屬於不可靠的鏈接協議,服務端發送的信息客戶端未必接收的到,採用的是數據報的協議發送。對象

相關文章
相關標籤/搜索