国产成人精品亚洲777人妖,欧美日韩精品一区视频,最新亚洲国产,国产乱码精品一区二区亚洲

您的位置:首頁技術文章
文章詳情頁

Java網絡編程UDP協議發送接收數據

瀏覽:3日期:2023-12-04 18:43:19

本文實例為大家分享了Java網絡編程UDP協議發送接收數據的具體代碼,供大家參考,具體內容如下

UDP協議發送數據步驟

A:創建發送端socket對象;

B:創建數據,并把數據打包;

C:調用socket對象的發送方法發送數據包;

D:釋放資源

package net; import java.io.IOException;import java.net.DatagramPacket;import java.net.DatagramSocket;import java.net.InetAddress; public class SendDemo { public static void main(String[] args) throws IOException { //A DatagramSocket ds = new DatagramSocket(); //B byte[] by = 'Hello,UDP'.getBytes(); int length = by.length; InetAddress addr = InetAddress.getByName('192.168.1.22'); int port = 10010; DatagramPacket dp = new DatagramPacket(by, length, addr, port); //C ds.send(dp); //D ds.close(); }}UDP協議接收數據步驟

A:創建接收端socket對象;

B:創建一個數據包(接收容器);

C:調用socket對象的接收方法接收數據;

D:解析數據,顯示到控制臺;

E:釋放資源

package net; import java.io.IOException;import java.net.DatagramPacket;import java.net.DatagramSocket;import java.net.InetAddress; public class ReceiveDemo { public static void main(String[] args) throws IOException { //A DatagramSocket ds = new DatagramSocket(10010); //B byte[] by = new byte[1024]; int length = by.length; DatagramPacket dp = new DatagramPacket(by, length); //C ds.receive(dp); //D //獲取對方ip InetAddress addr = dp.getAddress(); String ip = addr.getHostAddress(); byte[] by2 = dp.getData(); int len = by2.length; String s = new String(by2, 0, len); System.out.println(ip+'發送的數據是:'+s); //E ds.close(); }}

先運行接收端代碼,再運行發送端代碼。

多次從鍵盤接收發送數據版本

package net; import java.io.BufferedReader;import java.io.IOException;import java.io.InputStreamReader;import java.net.DatagramPacket;import java.net.DatagramSocket;import java.net.InetAddress; public class SendDemo { public static void main(String[] args) throws IOException { //A DatagramSocket ds = new DatagramSocket(); //數據來自鍵盤錄入 BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); String line = null; while((line = br.readLine()) != null){ //當輸入jieshu時,結束 if('jieshu'.equals(line)){ break; } //B byte[] by = line.getBytes(); int length = by.length; InetAddress addr = InetAddress.getByName('192.168.1.22'); int port = 10010; DatagramPacket dp = new DatagramPacket(by, length, addr, port); //C ds.send(dp); } //D ds.close(); }}

package net; import java.io.IOException;import java.net.DatagramPacket;import java.net.DatagramSocket;import java.net.InetAddress; public class ReceiveDemo { public static void main(String[] args) throws IOException { //A DatagramSocket ds = new DatagramSocket(10010); //多次接受版本 while(true){ //B byte[] by = new byte[1024]; int length = by.length; DatagramPacket dp = new DatagramPacket(by, length); //C ds.receive(dp); //D //獲取對方ip InetAddress addr = dp.getAddress(); String ip = addr.getHostAddress(); byte[] by2 = dp.getData(); int len = by2.length; String s = new String(by2, 0, len); System.out.println(ip+'發送的數據是:'+s); } //E //ds.close(); }}

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持好吧啦網。

標簽: Java
相關文章:
主站蜘蛛池模板: 杭锦后旗| 忻州市| 壤塘县| 武邑县| 定兴县| 隆昌县| 收藏| 南阳市| 卫辉市| 长海县| 临汾市| 醴陵市| 洮南市| 新民市| 阳山县| 双江| 湾仔区| 梓潼县| 合肥市| 黑山县| 天气| 镇宁| 通渭县| 太湖县| 辛集市| 新绛县| 招远市| 游戏| 图木舒克市| 盱眙县| 庆云县| 沐川县| 佛坪县| 长宁区| 伊宁县| 和平县| 珲春市| 灵台县| 乐陵市| 汕尾市| 芦山县|