我已經搜索瞭如何使用套接字在linux中接收和發送文件的整潔解釋,但我找不到解決方案,甚至工作一點點。 我有一個Linux上的c + +服務器,並在java中運行的客戶端。發送文件從Java套接字到C + + Linux的插座
我需要做以下幾點:
- 客戶需要能夠朝着服務器發送文本的命令。
- 客戶端需要能夠向服務器發送/接收文件。接收文件時
- 服務器獲取以下命令:PUT < saveLocation> < filecontents>
- 一切得到由 「\ n」 個關閉。
我已經寫了很多代碼,並且能夠在客戶端和服務器之間來回發送命令。但現在我堅持在客戶端和服務器上發送/接收文件。
我應該採取哪些步驟,以便能夠從客戶端收到一條命令,其中提示「PUT /map1/test.pdf somefile」 並且還會收到實際的文件?
如果代碼需要請問,我會發布它,但我不知道哪些代碼塊可以幫助。
關鍵是,如果它是一個大文件,將文件分段發送。使用緩衝區以較小的部分讀取/寫入文件。如果這不是你想要的,你需要在你的問題中更具體。 –
C++或java在這裏不相關。問題是:你在雙方都有一個套接字,並且你以兩種方式發送數據。你必須設計一個協議,允許你做你想做的事情(就像FTP是一個實現你所需要的協議一樣)。然後你在雙方都實現它,你就完成了。您可以查找示例協議並從中進行構建。 – Mic
如果「所有東西都被\ n」。「關閉了,您有兩個很大的限制。您無法發送二進制文件,也無法使用多行發送文本。我會重新考慮這個協議。 –