黑马程序员技术交流社区

标题: 聊天程序出问题了,求指导 [打印本页]

作者: 妖妖    时间: 2015-4-25 21:50
标题: 聊天程序出问题了,求指导
import java.io.*;
import java.net.*;
class Send implements Runnable
{
        private DatagramSocket ds;
        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)
                        {
                                byte[] by=line.getBytes();
                                DatagramPacket dp=new DatagramPacket(by,by.length,InetAddress.getByName("192.168.0.109"),10005);
                                ds.send(dp);
                                if ("886".equals(line))
                                {
                                        break;
                                }
                        }
                }
                catch (Exception e)
                {
                        throw new RuntimeException("send is fail");
                }
        }
}
class Rece implements Runnable
{
        private DatagramSocket ds;
        Rece(DatagramSocket ds)       
        {
                this.ds=ds;
        }
        public void run()
        {
                try
                {
                        byte[] by=new byte[1024];
                        DatagramPacket dp=new DatagramPacket(by,by.length);
                        ds.receive(dp);
                        String ip=dp.getAddress().getHostAddress();
                        String date=new String(dp.getData(),0,dp.getLength());
                        if ("886".equals(date))
                        {
                                System.out.println("lev room");
                                break;
                        }
                }
                catch (Exception e)
                {
                        throw new RuntimeException("Rece is fail");
                }
        }
}
class ChatText
{
        public static void main(String[] args)
        {
                DatagramSocket sendSocket=new DatagramSocket();
                DatagramSocket receSocket=new DatagramSocket(10005);
                new Thread(new send(sendSocket)).start();
                new Thread(new send(receSocket)).start();
        }
}

NVFVH%V8`WMC389`SU9U7RN.png (3.08 KB, 下载次数: 13)

NVFVH%V8`WMC389`SU9U7RN.png

作者: 王烽棋    时间: 2015-4-25 23:54
接收段得循环接收
作者: 突然世界晴    时间: 2015-4-25 23:59
break 不能放在if里面
作者: 突然世界晴    时间: 2015-4-26 00:09
错误地方蛮多的,
   if ("886".equals(date))
                         {
                                 System.out.println("lev room");
                                 break;
                         }
提示是这个错误 应该加个while循环。
  new Thread(new send(sendSocket)).start();
                 new Thread(new send(receSocket)).start();
两个new send 而且第一个字母小写




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