黑马程序员技术交流社区

标题: udp通信的问题 [打印本页]

作者: 秦桂胜    时间: 2013-11-7 11:51
标题: udp通信的问题
  1. import java.net.*;
  2. import java.io.*;

  3. class udpClient {
  4.         public static void main(String[] args) throws Exception {
  5.                 //创建udp服务,通过DatagramSocket对象
  6.                 DatagramSocket ds =new DatagramSocket(8888);
  7.                 //确定数据,并封装成数据包
  8.                 byte[] buf="udp wo  lai le".getBytes();
  9.                 DatagramPacket dp= new DatagramPacket(buf,buf.length,InetAddress.getByName("127.0.0.1"),10002);
  10.                 ds.send(dp);
  11.                 ds.close();
  12.         }

  13. }
  14. class udpServer{
  15.         public static void main(String[] args) throws Exception {
  16.                 DatagramSocket ds =new  DatagramSocket(10002);
  17.                 while(true){
  18.                         //定义数据包
  19.                         byte[] buf=new byte[1024];
  20.                         DatagramPacket dp=new DatagramPacket(buf,buf.length);
  21.                         //通过服务的receeive方法将收到数据存入数据包中
  22.                         ds.receive(dp);
  23.                         //通过数据包的方法获取其中的数据
  24.                         String ip=ds.getInetAddress().getHostName();
  25.                         String data = new String(dp.getData(),0,dp.getLength());
  26.                         System.out.println(ip+" "+data);
  27.                        
  28.                 }

  29.         }

  30. }
复制代码
出现了空指针异常,请高手解疑
作者: 秦桂胜    时间: 2013-11-7 12:10
竟然犯了这个错误
对象写错了
第26行应该是dp 而不是ds
给大家添麻烦了
抱歉
作者: 狼王    时间: 2013-11-7 14:51
在论坛里面,就要向你这样,认认真真的
作者: 秦桂胜    时间: 2013-11-7 16:39
狼王 发表于 2013-11-7 14:51
在论坛里面,就要向你这样,认认真真的

谢谢,好好学习




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2