尚学堂 Java 300 集点击打开链接
这个方法是 UDP 即非面向连接,不安全,当我关闭服务端时,仍能发送消息并且不报错,但是接收不到消息;
创建服务端:
步骤:
1、创建服务器 2、准备接收容器 3、包装容器 4、接收数据 5、分析数据
package cn.swu.stormliu.udp; import java.io.IOException; import java.net.DatagramPacket; import java.net.DatagramSocket; import java.net.SocketException; /** * 1、创建服务器 * 2、准备接收容器 * 3、包装容器 * 4、接收数据 * 5、分析数据 * @author Administrator * */ public class MyServer { public static void main(String[] args) throws IOException { //创建服务端+端口 DatagramSocket server= new DatagramSocket(8888); // 2、准备接收容器 byte[] container=new byte[1024]; //3、包装容器 DatagramPacket packet = new DatagramPacket(container,container.length); // 4、接收数据 server.receive(packet); //5、分析数据 byte []data=packet.getData(); System.out.println(new String(data,0,data.length)); } }
创建用户端:
package cn.swu.stormliu.udp; import java.io.IOException; import java.net.DatagramPacket; import java.net.DatagramSocket; import java.net.InetSocketAddress; import java.net.SocketException; public class MyClient { public static void main(String[] args) throws IOException { DatagramSocket client =new DatagramSocket(6666); String msg="编程"; byte []data=msg.getBytes(); DatagramPacket packet=new DatagramPacket(data,data.length,new InetSocketAddress("localhost",8888)); client.send(packet); client.close(); } }