我有一个Java客户端/服务器桌面应用程序,客户端和服务器之间的通信基于套接字,客户端和服务器之间交换的消息是序列化对象(消息对象,包含请求和响应)。
现在我需要让客户端能够将文件从本地计算机上传到服务器,但是我无法通过缓冲区发送文件,因为缓冲区已经用于交换消息对象。
我应该打开另一个流来发送文件,还是有更好的方法来上传文件?
答案 0 :(得分:1)
你真的只有两个选择:
前者似乎更简单&对我来说更清洁,需要更少的开销和更简单的代码。
答案 1 :(得分:1)
I need to make the client able to upload a file from the local computer to the server
- 打开Solely Dedicated Connection
到服务器以进行文件上传。
- 使用File Transfer Protocol
来简化您的工作,而且使用Apache's common lib
文件上传和下载非常简单可靠。 ...
请参阅此链接:
答案 2 :(得分:1)
您可以保留您的解决方案并将文件内容作为对象传递,例如作为字符串 - 如果内容包含麻烦的字符,则使用内容的Base64编码(或类似)