我做过这样的应用程序。
我的解决方案是:控制信息和文件流信息的分离。先开一个端口用于控制信息的通信
当需要传输文件流时,再打开另外一个端口,采用流的方式发送和接收文件。FTP协议和TFTP协议也是按这种方式实行的。

解决方案 »

  1.   

    当你第一次输入完成后,记住要将缓冲区清空,调用flush()函数清空缓冲区,如果缓冲区仍然装满的话,你的第二次输入就不会成功的.
      

  2.   

    我把你的代码调试了一下,没有问题!俩此都可以接收到!
    看来看去,我想你的问题出在了下面这句:(客户端)File uploadFile = new File("h:\\k.txt");
                                             __↑__问题就在这里!如果你的h盘根目录下确实有这个文件(即使它是个空文件),以上代码没有任何问题!如果没有,就会出错了!