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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

今天看了黑马的视频。有个例子按照视频做的。提示这个错误。谁能帮忙看看。下边是源码。

/*
多线程技术,
一个聊天程序,收,发数据
*/
import java.io.*;
import java.net.*;
class Send implements Runnable
{
private DatagramSocket ds;
public Send(DatagramSocket ds)
{
this.ds = ds;
}
public void run()
{
try
{
BufferedReader bufr = new BufferedReader(new InputStreamReader(System.in));
String line = null;
while((line= bufr.readLine())!=null)
{
if("886".equals(line))  
break;
byte[] buf = line.getBytes();

DatagramPacket dp =
new DatagramPacket(buf,buf.length,InetAddress.getByName("192.168.1.100"),10000);
ds.send(dp);
}
}
catch (Exception e)
{
throw new RuntimeException("发送端失败");
}       
}
}

class Rece implements Runnable
{
private DatagramSocket ds;
public Rece(DatagramSocket ds)
{
this.ds = ds;
}
public void run()
{
try
{
byte[] buf= new byte[1024]        ;
DatagramPacket dp = new DatagramPacket(buf,buf.length);
ds.receive(dp);
String ip = dp.getAddress().getHostAddress();
String data = new String(dp.getData(),dp.getLength());
System.out.println(ip+"::"+data);
}
catch (Exception e)
{
throw new RuntimeException("接收端失败");
}

}
}

class ChatDemo
{
public static void main(String[] args) throws Exception
{
DatagramSocket sendSocket = new DatagramSocket();
DatagramSocket receSocket = new DatagramSocket(10000);

new Thread(new Send(sendSocket)).start();
new Thread(new Send(receSocket)).start();
}
}

评分

参与人数 1技术分 +1 收起 理由
admin + 1 解决了,把标题改成已解决!

查看全部评分

3 个回复

倒序浏览
String data = new String(dp.getData(),dp.getLength());  方法已过时
回复 使用道具 举报
对于过时对象,是不一推荐使用的,但时对于一些老的程序中可能使用了,所以java会将标为过时。

评分

参与人数 1技术分 +1 收起 理由
admin + 1 对!

查看全部评分

回复 使用道具 举报
已经解决了。当时误以为是没有编译成功。后发现只是个善意的提示而已。呵呵
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马