摘要:更多資料請(qǐng)看編程之編程協(xié)議用戶數(shù)據(jù)報(bào)協(xié)議是無連接的不可靠的無序的速度快進(jìn)行數(shù)據(jù)傳輸時(shí),首先將要傳輸?shù)臄?shù)據(jù)定義成數(shù)據(jù)報(bào),大小限制在,在數(shù)據(jù)報(bào)中指明數(shù)據(jù)索要達(dá)到的主機(jī)地址和端口號(hào),然后再將數(shù)據(jù)報(bào)發(fā)送出去類表示數(shù)據(jù)報(bào)包類進(jìn)行端到端通信的類服務(wù)器端
更多資料請(qǐng)看:https://www.yuque.com/shizhiy...
Java Socket編程之UDP編程UDP協(xié)議(用戶數(shù)據(jù)報(bào)協(xié)議)是無連接的、不可靠的、無序的,速度快
? ? ? 進(jìn)行數(shù)據(jù)傳輸時(shí),首先將要傳輸?shù)臄?shù)據(jù)定義成數(shù)據(jù)報(bào)(Datagram),大小限制在64k,在數(shù)據(jù)報(bào)中指明數(shù)據(jù)索要達(dá)到的Socket(主機(jī)地址和端口號(hào)),然后再將數(shù)據(jù)報(bào)發(fā)送出去;
**
? ? ? DatagramPacket類:表示數(shù)據(jù)報(bào)包
? ? ? DatagramSocket類:進(jìn)行端到端通信的類
創(chuàng)建DatagramSocket,指定端口號(hào)
創(chuàng)建DatagramPacket
接受客戶端發(fā)送的數(shù)據(jù)信息
讀取數(shù)據(jù)
//服務(wù)器端,實(shí)現(xiàn)基于UDP的用戶登錄 //1、創(chuàng)建服務(wù)器端DatagramSocket,指定端口 DatagramSocket socket =new datagramSocket(10010); //2、創(chuàng)建數(shù)據(jù)報(bào),用于接受客戶端發(fā)送的數(shù)據(jù) byte[] data =newbyte[1024];// DatagramPacket packet =newDatagramPacket(data,data.length); //3、接受客戶端發(fā)送的數(shù)據(jù) socket.receive(packet);//此方法在接受數(shù)據(jù)報(bào)之前會(huì)一致阻塞 //4、讀取數(shù)據(jù) String info =newString(data,o,data.length); System.out.println("我是服務(wù)器,客戶端告訴我"+info); //========================================================= //向客戶端響應(yīng)數(shù)據(jù) //1、定義客戶端的地址、端口號(hào)、數(shù)據(jù) InetAddress address = packet.getAddress(); int port = packet.getPort(); byte[] data2 = "歡迎您!".geyBytes(); //2、創(chuàng)建數(shù)據(jù)報(bào),包含響應(yīng)的數(shù)據(jù)信息 DatagramPacket packet2 = new DatagramPacket(data2,data2.length,address,port); //3、響應(yīng)客戶端 socket.send(packet2); //4、關(guān)閉資源 socket.close();客戶端實(shí)現(xiàn)步驟
定義發(fā)送信息
創(chuàng)建DatagramPacket,包含將要發(fā)送的信息
創(chuàng)建DatagramSocket
發(fā)送數(shù)據(jù)
//客戶端 //1、定義服務(wù)器的地址、端口號(hào)、數(shù)據(jù) InetAddress address =InetAddress.getByName("localhost"); int port =10010; byte[] data ="用戶名:admin;密碼:123".getBytes(); //2、創(chuàng)建數(shù)據(jù)報(bào),包含發(fā)送的數(shù)據(jù)信息 DatagramPacket packet = newDatagramPacket(data,data,length,address,port); //3、創(chuàng)建DatagramSocket對(duì)象 DatagramSocket socket =newDatagramSocket(); //4、向服務(wù)器發(fā)送數(shù)據(jù) socket.send(packet); //接受服務(wù)器端響應(yīng)數(shù)據(jù) //====================================== //1、創(chuàng)建數(shù)據(jù)報(bào),用于接受服務(wù)器端響應(yīng)數(shù)據(jù) byte[] data2 = new byte[1024]; DatagramPacket packet2 = new DatagramPacket(data2,data2.length); //2、接受服務(wù)器響應(yīng)的數(shù)據(jù) socket.receive(packet2); String raply = new String(data2,0,packet2.getLenth()); System.out.println("我是客戶端,服務(wù)器說:"+reply); //4、關(guān)閉資源 socket.close();
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://specialneedsforspecialkids.com/yun/74406.html
摘要:如地址端口號(hào)組成了所謂的,是網(wǎng)絡(luò)上運(yùn)行的程序之間雙向通信鏈路的終結(jié)點(diǎn),是和的基礎(chǔ)套接字網(wǎng)絡(luò)上具有唯一標(biāo)識(shí)的地址和端口組合在一起才能構(gòu)成唯一能識(shí)別的標(biāo)識(shí)符套接字。 更多物聯(lián)網(wǎng)高并發(fā)編程知識(shí)請(qǐng)移步:https://www.yuque.com/shizhiy... Java Socket編程之常識(shí)網(wǎng)絡(luò)基礎(chǔ)知識(shí) 網(wǎng)絡(luò)基礎(chǔ)知識(shí)(參考計(jì)算機(jī)網(wǎng)絡(luò))? 《TCP/IP協(xié)議棧及OSI參考模型詳解》? ...
摘要:面向字節(jié)流流,指的是流入到進(jìn)程或從進(jìn)程流出的字符序列。即收到連接信息后向返回確認(rèn)信息第三次握手客戶端收到服務(wù)器的報(bào)文段,并向服務(wù)器發(fā)送報(bào)文段。 前言 Socket的使用在 Android網(wǎng)絡(luò)編程中非常重要 今天我將帶大家全面了解 Socket 及 其使用方法 目錄 showImg(https://segmentfault.com/img/remote/14600000113508...
摘要:現(xiàn)在在本機(jī)同一局域網(wǎng)的一臺(tái)機(jī)器和阿里云主機(jī)上都運(yùn)行然后啟動(dòng)發(fā)送端接收端接收結(jié)果可以看到每個(gè)接收端都正確的接收了發(fā)送端發(fā)送的消息。 今天的主角是 UDP(User Datagram Protocol,用戶數(shù)據(jù)報(bào)協(xié)議)。我們都知道 TCP 是一種可靠的協(xié)議 —— 首先客戶端和服務(wù)端需要建立連接(三次握手),數(shù)據(jù)發(fā)送完畢需要斷開連接(四次揮手);如果發(fā)送數(shù)據(jù)時(shí)數(shù)據(jù)損壞或者丟失,那么 TCP ...
摘要:創(chuàng)建創(chuàng)建通信接受套接字的數(shù)據(jù),與類似,但返回值是。發(fā)送數(shù)據(jù),將數(shù)據(jù)發(fā)送到,形式為,指定遠(yuǎn)程地址發(fā)送,返回值是發(fā)送的字節(jié)數(shù)發(fā)送的報(bào)文是類型,發(fā)送的報(bào)文是類型,在發(fā)送前要記得編碼。 UDP 和 TCP 的區(qū)別 ? TCP UDP 連接性 面向連接 面向無連接 傳輸可靠性 可靠 不可靠 傳輸模式 流 數(shù)據(jù)報(bào) 應(yīng)用場(chǎng)景 傳輸大量的數(shù)據(jù) 少量數(shù)據(jù) 速度 慢 快 T...
閱讀 1979·2019-08-30 15:54
閱讀 3602·2019-08-29 13:07
閱讀 3129·2019-08-29 12:39
閱讀 1793·2019-08-26 12:13
閱讀 1552·2019-08-23 18:31
閱讀 2164·2019-08-23 18:05
閱讀 1852·2019-08-23 18:00
閱讀 1049·2019-08-23 17:15