- import java.net.*;
- import java.io.*;
- class udpClient {
- public static void main(String[] args) throws Exception {
- //创建udp服务,通过DatagramSocket对象
- DatagramSocket ds =new DatagramSocket(8888);
- //确定数据,并封装成数据包
- byte[] buf="udp wo lai le".getBytes();
- DatagramPacket dp= new DatagramPacket(buf,buf.length,InetAddress.getByName("127.0.0.1"),10002);
- ds.send(dp);
- ds.close();
- }
- }
- class udpServer{
- public static void main(String[] args) throws Exception {
- DatagramSocket ds =new DatagramSocket(10002);
- while(true){
- //定义数据包
- byte[] buf=new byte[1024];
- DatagramPacket dp=new DatagramPacket(buf,buf.length);
- //通过服务的receeive方法将收到数据存入数据包中
- ds.receive(dp);
- //通过数据包的方法获取其中的数据
- String ip=ds.getInetAddress().getHostName();
- String data = new String(dp.getData(),0,dp.getLength());
- System.out.println(ip+" "+data);
-
- }
- }
- }
复制代码 出现了空指针异常,请高手解疑 |