数据来自于键盘录入 键盘录入数据要自动关闭

it2026-09-26  11

发送端数据来自于键盘录入

package cn.itcast_03; 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 发送端数据来自于键盘录入 { public static void main(String[] args) throws IOException { //创建发送端的socket的对象 DatagramSocket ds = new DatagramSocket(); //封装键盘录入数据 BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); String line = null; while((br.readLine()) != null) { if("886".equals(line)){ break; } //创建数据包 byte[] bys = line.getBytes(); // DatagramPacket dp = new DatagramPacket(bys, bys.length, // InetAddress.getByName("10.212.31.21"),12345); //此IP:x.x.x.255为广播频道 DatagramPacket dp = new DatagramPacket(bys, bys.length, InetAddress.getByName("10.212.31.255"),12345); //发送数据 ds.send(dp); } //释放资源 ds.close(); } }

接收端

package cn.itcast_03; import java.io.IOException; import java.net.DatagramPacket; import java.net.DatagramSocket; public class 接收端{ public static void main(String[] args) throws IOException { //创建接受段Socket对象,要指定端口接 DatagramSocket ds = new DatagramSocket(10086); //创建一个数据包 byte[] bys = new byte[1024]; DatagramPacket dp = new DatagramPacket(bys,bys.length); //调用Socket对象的接受方法来接受数据 ds.receive(dp); //解析数据包,并显示在控制台 //获取对方IP信息 String ip = dp.getAddress().getHostAddress(); String s= new String(dp.getData(),0,dp.getLength()); System.out.println(s+"---"+ip); //释放资源 //接收端应该一直开着等待接受数据,是不需要关闭的 //ds.close(); } }
最新回复(0)