public void fun()
  {
 
    dos.writeInt(1);   // <===== 程序在这里空等,为什么?如何解决?
    .... // 通讯    dis.close();
    dos.close();
  }

解决方案 »

  1.   

    我在fun()的最后dos.close()后面加入的输出语句没有执行.而且程序没有结束也没有异常.
    是什么原因?
      

  2.   

    fun()在何时调用感觉在A()中dos.close()后,再在fun中调用dos有点问题
      

  3.   

    如果我在A()中不dos.close()的话,也不行,程序在调用fun()之间就等待了.
    各位有没有试一下?
      

  4.   

    你的输入流写错啦!
      dis=new DataInputStream(socket.getInputStream());
      

  5.   

    我知道了,应该不要close(),而且flush(),因为close()的话整个连接也就关闭了.
      

  6.   

    每个方法里都用到close,可考虑单独在A里编写一个close(),然后在你总的调用结束时再用这个close()方法