今天刚看懂的一点点东西,记录一下,方便自己回顾
客户端:
Client.java
1 import java.io.IOException; 2 import java.net.DatagramPacket; 3 import java.net.DatagramSocket; 4 import java.net.InetAddress; 5 import java.net.SocketException; 6 7 import org.json.JSONObject; 8 9 public class Client { 10 11 private static int port = 7799;//定义端口 数据报要用 12 13 private static String IP = "127.0.0.1";//定义IP地址 数据报要用 14 15 private static DatagramPacket packet = null;//定义要发送的数据报 16 17 public static void main(String[] args) throws IOException{ 18 try( 19 DatagramSocket socket = new DatagramSocket();//创建UDP套接字 20 21 ) { 22 //将数据使用json编码发送 23 JSONObject jsonObject = new JSONObject();//创建json对象 24 jsonObject.put("test","hello");//给json对象插入数据 25 26 //初始化要发送的数据报参数为 {字节数组}{长度}{地址}{端口} 27 packet = new DatagramPacket(new byte[0], 0, InetAddress.getByName(IP), port); 28 //数据报应该包含发送的目的地址和端口号 29 30 byte[] test = jsonObject.toString().getBytes();//把json对象转换为字节码并存入字节数组中 31 32 33 packet.setData(test);//为要发送的数据包指定字节数组(要发送的数据) 34 35 36 socket.send(packet);//发送数据包 37 } 38 catch (SocketException e) { 39 e.printStackTrace(); 40 } 41 42 } 43 }
服务端
server.java
1 import java.io.IOException; 2 import java.net.DatagramPacket; 3 import java.net.DatagramSocket; 4 5 import org.json.JSONObject; 6 7 public class server { 8 private static int port = 7799; 9 private String IP = "127.0.0.1"; 10 //创建字节数组准备接收数据 11 private static byte[] test = new byte[1024]; 12 private static DatagramPacket packet = new DatagramPacket(test,test.length); 13 14 public static void main(String[] args) throws IOException { 15 16 DatagramSocket socket = new DatagramSocket(port);//创建UDP套接字 17 socket.receive(packet);//接受数据报 18 19 String hell = new String(test, 0, test.length);//将收到的数据存在字符串中 20 JSONObject jsonObject = new JSONObject(hell);//获得存储数据的字符串的json编码 21 System.out.println(jsonObject); 22 String str = jsonObject.getString("test");//获取json编码中test对象的值 23 System.out.println(str); 24 } 25 26 }
原文地址:https://www.cnblogs.com/fangmr/p/11192237.html
时间: 2024-11-08 00:04:33