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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 妖妖 中级黑马   /  2015-4-25 21:50  /  703 人查看  /  3 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

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

3 个回复

倒序浏览
王烽棋 来自手机 中级黑马 2015-4-25 23:54:06
沙发
接收段得循环接收来自: iPhone客户端
回复 使用道具 举报
break 不能放在if里面
回复 使用道具 举报
错误地方蛮多的,
   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 而且第一个字母小写
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马