| 发表于:2008-01-14 14:40:215楼 得分:0 |
下面是完整代码 什么问题,在代码里有注释 private void start(){ try { server = new serversocket(port); jtextarea_msg.append("服务器启动。。。。。。"+"\n"); jbutton_stat.setenabled(false); } catch (ioexception e) { e.printstacktrace(); } trd.start(); 启动线程 } public void run() { while(!flag && !server.isclosed()){ try { socket = server.accept(); system.out.println("ok............"); out = new objectoutputstream(socket.getoutputstream()); out.flush(); in = new objectinputstream(socket.getinputstream()); servermain.jtextarea_user.append(in.readobject().tostring()); new serverreceive(in,socket).start(); } catch (ioexception e) { e.printstacktrace(); } catch (classnotfoundexception e) { e.printstacktrace(); } } } private void close(){ try { //trd.stop(); 加上这句,关闭不出异常了,但在启动就启动不了了 trd.interrupt(); 加上这句,还是出异常 jtextarea_msg.append("服务器关闭........"); jbutton_stat.setenabled(true); //in.close(); //out.close(); //socket.close(); 上面3个不注释掉,就出现空指针异常 server.close(); } catch (ioexception e) { e.printstacktrace(); } } | | |
|