A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 秦桂胜 中级黑马   /  2013-11-7 11:51  /  963 人查看  /  3 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

  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. }
复制代码
出现了空指针异常,请高手解疑

评分

参与人数 1技术分 +1 收起 理由
狼王 + 1

查看全部评分

3 个回复

倒序浏览
竟然犯了这个错误
对象写错了
第26行应该是dp 而不是ds
给大家添麻烦了
抱歉
回复 使用道具 举报
在论坛里面,就要向你这样,认认真真的
回复 使用道具 举报
狼王 发表于 2013-11-7 14:51
在论坛里面,就要向你这样,认认真真的

谢谢,好好学习
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马