0

我有一个 Java 客户端/服务器桌面应用程序,其中客户端和服务器之间的通信基于套接字,客户端和服务器之间交换的消息是序列化对象(消息对象,封装请求和响应)。

现在我需要让客户端能够将文件从本地计算机上传到服务器,但我不能通过缓冲区发送文件,因为缓冲区已经用于交换消息对象。

我应该打开另一个流来发送文件,还是有更好的方法来上传文件适合我的情况?

4

3 回答 3

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用于文件上传和下载....

请参阅此链接:

http://commons.apache.org/net/

于 2012-09-23T20:03:44.147 回答
1

你真的只有两个选择:

  1. 打开另一个专用于文件上传的连接并通过它发送。
  2. 制作一个表示正在上传文件的位的消息对象,并通过这些消息对象以块的形式发送文件。

前者对我来说似乎更简单、更干净,需要更少的开销和更简单的代码。

于 2012-09-23T19:57:16.197 回答
1

您可以保留您的解决方案并将文件内容作为对象传递,例如作为字符串 - 如果内容包含麻烦的字符,则使用内容的 Base64 编码(或类似编码)

于 2012-09-23T20:12:28.123 回答