- import java.net.*;
- public class UdpSend
- {
- public static void main(String[] args)throws Exception
- {
- //1,创建UDP服务,通过DatagramSocket
- DatagramSocket ds = new DatagramSocket();
- //2,确定数据,并封装成数据包 DatagramSocket(byte[] b
- byte[] buf = "udp chu xian ".getBytes();
- DatagramPacket dp =
- new DatagramPacket(buf,buf.length,InetAddress.getByName("127.0.0.1"),10000);
- //3,通过socket服务,将已有的数据包发送出去,通过send方法
- ds.send(dp);
- //4,关闭资源
- ds.close();
- }
- }
- import java.net.*;
- public class UdpRece
- {
- public static void main(String[] args)throws Exception
- {
- //1,创建udp socket,建立端点
- DatagramSocket ds = new DatagramSocket(10000);
- //2,定义数据包,用于存储数据。
- byte[] buf = new byte[1024];
- DatagramPacket dp = new DatagramPacket(buf, buf.length);
- //3,通过服务的receeive方法将接收到的数据存入数据包中。
- ds.receive(dp);
- //4,通过数据包的方法获取其中的数据 (有获取地址,长度,端口等)
- String ip = dp.getAddress().getHostAddress();//获取IP
- //获取数据
- String data = new String(dp.getData() , 0 , dp.getLength());
- //获取端口
- int port = dp.getPort();
- System.out.println(ip + "::" + data + "::" + port);
- //关闭资源
- ds.close();
- }
- }
- 第一个是发送端 第二个是接收端 问题是接收端开起来 发送端一编译 运行 就出现错误 求解释
|