我已经搜索了如何使用套接字在linux中接收和发送文件的整洁解释,但我找不到解决方案,甚至工作一点点。 我有一个Linux上的c + +服务器,并在java中运行的客户端。发送文件从Java套接字到C + + Linux的插座
我需要做以下几点:
- 客户需要能够朝着服务器发送文本的命令。
- 客户端需要能够向服务器发送/接收文件。接收文件时
- 服务器获取以下命令:PUT < saveLocation> < filecontents>
- 一切得到由 “\ n” 个关闭。
我已经写了很多代码,并且能够在客户端和服务器之间来回发送命令。但现在我坚持在客户端和服务器上发送/接收文件。
我应该采取哪些步骤,以便能够从客户端收到一条命令,其中提示“PUT /map1/test.pdf somefile” 并且还会收到实际的文件?
如果代码需要请问,我会发布它,但我不知道哪些代码块可以帮助。
关键是,如果它是一个大文件,将文件分段发送。使用缓冲区以较小的部分读取/写入文件。如果这不是你想要的,你需要在你的问题中更具体。 –
C++或java在这里不相关。问题是:你在双方都有一个套接字,并且你以两种方式发送数据。你必须设计一个协议,允许你做你想做的事情(就像FTP是一个实现你所需要的协议一样)。然后你在双方都实现它,你就完成了。您可以查找示例协议并从中进行构建。 – Mic
如果“所有东西都被\ n”。“关闭了,您有两个很大的限制。您无法发送二进制文件,也无法使用多行发送文本。我会重新考虑这个协议。 –