不知道你有没有具体的功能要求,如果没有特殊要求,很多Java的参考书中都有利用Socket实现文件传输的例子
能不能把你的功能要求具体一些!

解决方案 »

  1.   

    我现在采用的就是Socket通信,但感觉效果不是很理想,当客户端和服务器端处于不同机器上时,传输就有时成功,有时不成功.
      

  2.   

    如果网络质量不太理想,自己编写Socket方式的可靠文件传输,比较麻烦!!!
    你可以考虑采用Java Messageing Queue的技术来实现可靠的数据交换(异步方式)
      

  3.   

    Socket方式的可靠文件传输如何实现,请给小弟指点一二.谢谢!
      

  4.   

    我看还是首选socket,自己在协议里面实现校验,判断文件长度
    JMS也不太适合传文件
      

  5.   

    怎么传都可以啊,如果想图省事的话,可以实用FTP或者http这样的高层协议来传输,其实这些高层协议的底层也还是Socket,所以,用直接用Socket来实现也一定行得通,而且效率会相对高些。
      至于可靠性的问题,如果使用高层协议,自己不必另外操心。如果使用Socket的UDP,恐怕在传送的时候要根据文件的大小分成数目不等的包,发出去,因为是非面向连接的协议,所以你在接收端要检查是否所有的包都到达,然后再把这些包组装起来。  如果是基于TCP的,就只需要把文件打开,写进数据流就行了。
      传送文件,使用InputStream 和 OutputStream可以保证文件内容不变,最好不要用Reader和Writer。
      一点拙见,仅供参考。
      

  6.   

    谢谢大家的意见,我现在还是处在郁闷之中,不知,为何socket通信正常的时候,会突然通信终止;此外,有时,即使不是终止,但在最后传输的项中,总有些乱码,真不知为何.
    能帮我解释一下其中的原因吗?