UDP简单聊天系统为什么要要要定义两个run方法 而且这两个为什么要封装到不同的类中? 
import java.net.*; 
import java.io.*; 
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.100"),10002); 
 
                                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 
                { 
                        while(true) 
                        { 
                                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(),0,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(10002); 
 
                new Thread(new Send(sendSocket)).start(); 
 
                new Thread(new Rece(receSocket)).start(); 
                 
        } 
} 
 
 
 |