源代码
public class Usend implements Runnable
{
private DatagramSocket ds;
public Usend() throws SocketException
{
System.out.println("开始发送。。。");
DatagramSocket ds=new DatagramSocket();
}
public void run()
{
while(true)
{
BufferedReader bufr=new BufferedReader(new InputStreamReader(System.in));
String line=null;
try {
while((line=bufr.readLine())!=null)
{
if("886".equals(line))
return;
byte[] buf=line.getBytes();
DatagramPacket dp=new DatagramPacket(buf,buf.length,InetAddress.getByName("219.245.95.255"),11111);//将数据封装到对象包中
ds.send(dp);//发送数据包
}
} catch (UnknownHostException e) {
// TODO Auto-generated catch block
// e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
// e.printStackTrace();
}
}
}
}
假如先定义一个DatagramSocket对象send,然后调用 Usend(send)就没有异常
java程序 Exception in thread "Thread-0" java.lang.NullPointerException at Usend.run(Usend.ja
答案:2 悬赏:40 手机版
解决时间 2021-04-08 03:24
- 提问者网友:火车头
- 2021-04-08 00:01
最佳答案
- 五星知识达人网友:你哪知我潦倒为你
- 2021-04-08 00:20
private DatagramSocket ds; 定义的时候默认为null,在ds.send(dp);//发送数据包 这句代码之前,你没有创建这样一个对象,当然会出现空指针异常!解决:你定义时你可以创建它 DatagramSocket ds = new DatagramSocket(8833);可以带也可以不带端口号
全部回答
- 1楼网友:渊鱼
- 2021-04-08 00:50
你说呢...
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯