国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁(yè) > 學(xué)院 > 開發(fā)設(shè)計(jì) > 正文

java基礎(chǔ)篇---網(wǎng)絡(luò)編程(UDP程序設(shè)計(jì))

2019-11-14 22:52:32
字體:
來(lái)源:轉(zhuǎn)載
供稿:網(wǎng)友
java基礎(chǔ)篇---網(wǎng)絡(luò)編程(UDP程序設(shè)計(jì))

UDP程序設(shè)計(jì)

在TCP的索引操作都必須建立可靠地連接,這樣一來(lái)肯定會(huì)浪費(fèi)大量的系統(tǒng)性能,為了減少這種開銷,在網(wǎng)絡(luò)中又提供了另外一種傳輸協(xié)議---UDP,不可靠的連接,這種協(xié)議在各個(gè)聊天工具中被廣泛的應(yīng)用。

咋UDP開發(fā)中使用DatagramPacket包裝一條要發(fā)送的信息,之后使用DatagramSocket用于完成信息的發(fā)送操作。

例如:現(xiàn)在使用聊天工具進(jìn)行聊天的功能,那么A的發(fā)送的信息B不一定可以接受的到,因?yàn)槭褂玫氖荱DP的協(xié)議。

UDP中主要是使用數(shù)據(jù)報(bào)協(xié)議發(fā)送的。

DatagramPacket中的方法

是包含真實(shí)的是要發(fā)送的信息,稱為數(shù)據(jù)報(bào)

所有的數(shù)據(jù)報(bào)使用DatagramPacket進(jìn)行發(fā)送的操作

DatagramSocket

那么如果要想運(yùn)行程序,則在數(shù)據(jù)報(bào)的開發(fā)中,應(yīng)該首先保證客戶端要打開

import java.net.DatagramPacket ;import java.net.DatagramSocket ;public class UDPClient{    public static void main(String args[]) throws Exception{    // 所有異常拋出        DatagramSocket ds = null ;        // 定義接收數(shù)據(jù)報(bào)的對(duì)象        byte[] buf = new byte[1024] ;    // 開辟空間,以接收數(shù)據(jù)        DatagramPacket dp = null ;        // 聲明DatagramPacket對(duì)象        ds = new DatagramSocket(9000) ;    // 客戶端在9000端口上等待服務(wù)器發(fā)送信息        dp = new DatagramPacket(buf,1024) ; // 所有的信息使用buf保存        ds.receive(dp)  ;    // 接收數(shù)據(jù)        String str = new String(dp.getData(),0,dp.getLength()) + "from " +             dp.getAddress().getHostAddress() + ":" + dp.getPort() ;        System.out.PRintln(str) ;    // 輸出內(nèi)容    }};

要進(jìn)一步等待服務(wù)器發(fā)送信息

import java.net.DatagramPacket ;import java.net.DatagramSocket ;import java.net.InetAddress ;public class UDPServer{    public static void main(String args[]) throws Exception{    // 所有異常拋出        DatagramSocket ds = null ;        // 定義發(fā)送數(shù)據(jù)報(bào)的對(duì)象        DatagramPacket dp = null ;        // 聲明DatagramPacket對(duì)象        ds = new DatagramSocket(3000) ;    // 服務(wù)端在3000端口上等待服務(wù)器發(fā)送信息/        String str = "hello World!!!" ;        dp = new DatagramPacket(str.getBytes(),str.length(),InetAddress.getByName("localhost"),9000) ; // 所有的信息使用buf保存        System.out.println("發(fā)送信息。") ;        ds.send(dp);    // 發(fā)送信息出去        ds.close() ;    }};

UDP 屬于不可靠的連接協(xié)議,服務(wù)端發(fā)送的信息客戶端未必接收的到,采用的是數(shù)據(jù)報(bào)的協(xié)議發(fā)送。


發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 都江堰市| 武夷山市| 额敏县| 正阳县| 天门市| 衡东县| 浮山县| 鲁山县| 阳山县| 精河县| 手机| 富锦市| 辽源市| 慈溪市| 太康县| 昌乐县| 海伦市| 富宁县| 卫辉市| 墨竹工卡县| 景德镇市| 石家庄市| 桂林市| 龙门县| 五台县| 阿尔山市| 吴堡县| 无极县| 台南县| 密山市| 山东省| 曲阳县| 沿河| 昌平区| 定兴县| 瑞丽市| 大冶市| 文登市| 日喀则市| 古交市| 平罗县|