我目前正在java中制作客户端-服务器文件传输程序,我的问题是,
是否有最好的或合适的I/O流通过不同程序的套接字传输文件?
我不知道该用什么....
到目前为止,我只是使用bufferedoutputstream/bufferedinputstream对,即使它工作,似乎有一些东西缺失与所有的概念在脑海中…
我真正想知道的是我将使用什么流通过套接字传输任何文件,如果我要通过字节数组
和
如果其他程序不是用java(让我们说c++)编写的,必须能够接收和保存发送的文件…(序列化涉及到这个吗?)
谢谢。:)
流/缓冲区类的组合没有区别。您需要选择一种易于在所有平台上以相同方式读取/写入的格式。例如,写入表示数字的二进制数据对于不同的处理器架构来说更难(尽管不是不可能)读取。
为什么不使用HTTP作为你的协议?它主要发送纯文本行,使用空行作为分隔符。这样做的好处之一是,你可以使用丰富的现有工具来调试/分析你的系统,例如curl, Fiddler,任何web浏览器等。客户端(和服务器框架)已经存在于数千个平台。