黑马程序员技术交流社区

标题: 关于网络编程 [打印本页]

作者: 唐林渊    时间: 2012-4-1 14:22
标题: 关于网络编程
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)
                        {
                               

                                byte[] buf = line.getBytes();

                                DatagramPacket dp =
                                        new DatagramPacket(buf,buf.length,InetAddress.getByName("192.168.1.255"),10002);

                                ds.send(dp);

                                if("886".equals(line))                                                                       这个地方的886是先发送出去了,对吗.然后才停止的,如果if放在上面就是直接停止,不会发送出去???
                                        break;
                        }
                }
                catch (Exception e)
                {
                        throw new RuntimeException("发送端失败");
                }
        }
}
作者: 刘元明    时间: 2012-4-1 14:59
不是,886是你事先想好的键盘录入结束标记,也就是说,你把所有数据录入完毕后你才会输入一个“886”,
这些数据发送到接收端后,如果正好被接收端接收,它将依次读取传过来的数据,当它读到886时,它就认为后面没有数据传过来了 。




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