最赞回答 / 欧简墨
                                
                                                            同样的问题,已解决。原因:socket.receive(packet)会锁死对象packet(你看一下receive方法就知道),主线程锁死packet对象后,在start()的子线程中不能调用  packet.属性,packet.方法()。解决办法:while(true){     byte[] data=new byte[1024];//创建字节数组,指定接受的数据包的大小				    DatagramPacket packet=new DatagramPacket(data, data.lengt...
                            
                        
                        2015-08-24
                
            
                                已采纳回答 / needself
                                
                                                            你想多了。只要你明白不管前面的还是后面的内容只要是java语言介绍的都是各种各样的面向对象的类线程类,输入输出类因为某些属性及功能而变现的封装代码而已就是一些java提供给你的类别纠结,会用就好
                            
                        
                        2015-08-23
                
            
                                最新回答 / 叶孤城_007
                                
                                                            socket =new Socket("localhost", 8800);		ois=new ObjectInputStream(new BufferedInputStream(socket.getInputStream()));socket和ois是不是需要先指定应用类型啊  
                            
                        
                        2015-08-03
                
            
                                已采纳回答 / changing一铭惊人
                                
                                                             DatagramPacket p = new DatagramPacket(buf, buf.length);这个要放在while循环里面,因为每一次的receive()都要指定一个特有的DatagramPacket  p来接收每一个客户端发过来的请求,如果你放在外面的话,就每一次都要等上一次的数据输出后才能重新接收,这个就没有为每一个客户端各分配一个用来响应的reply了,不知道能不能帮到你!!
                            
                        
                        2015-08-01
                
             
             
        













