0
A
回答
0
這取決於服務器給你的文件的性質。它可能是FTP,HTTP,網絡文件共享,甚至像Gopher或scp。在任何情況下,問題的基本性質都是相同的:
- 將套接字連接到要使用
connect
聯繫的服務器。 - 使用該服務器理解協議(FTP,HTTP等)
read
由服務器返回的數據發送請求,並將其保存到本地文件
+0
是的,我忘了提 - 它是http。有沒有可以幫助我的代碼片段/教程? – Alex1987 2010-04-17 19:28:00
0
一個例子從http://docs.python.org/library/socket.html
將轉換爲C以及處理文件作爲練習留給讀者。
# Echo server program
import socket
HOST = '' # Symbolic name meaning all available interfaces
PORT = 50007 # Arbitrary non-privileged port
s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
s.bind((HOST, PORT))
s.listen(1)
conn, addr = s.accept()
print 'Connected by', addr
while 1:
data = conn.recv(1024)
if not data: break
conn.send(data)
conn.close()
# Echo client program
import socket
HOST = 'daring.cwi.nl' # The remote host
PORT = 50007 # The same port as used by the server
s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
s.connect((HOST, PORT))
s.send('Hello, world')
data = s.recv(1024)
s.close()
print 'Received', repr(data)
相關問題
- 1. 套接字編程c - 文件下載
- 2. 無法下載多個帶有套接字的文件C
- 3. 中斷通過套接字下載(recv)文件通過套接字
- 4. 從android下載文件時出現套接字異常
- 5. Delphi-使用套接字從網上下載文件
- 6. (印)TIdHTTP EIdSocketError套接字錯誤#0例外下載文件
- 7. C++/C使用berkeleys/bsd套接字從http下載文件
- 8. Winforms下載XP上的大文件套接字錯誤
- 9. 使用套接字從互聯網下載文件
- 10. 下載大文件時出現套接字異常
- 11. 下載依賴只有build.gradle文件
- 12. 只有下載文件,如果更新?
- 13. Python套接字下載/上傳圖像文件丟失的二進制文件
- 14. 下載HTTP通過套接字(C)
- 15. 通過套接字下載圖像java
- 16. MySQL在沒有套接字文件的情況下運行
- 17. 安裝.exe文件下載並運行只下載的電腦只有
- 18. 使用PHP下載文件 - 一次只下載一個文件!
- 19. 失去連接後恢復文件上傳/下載(套接字編程)
- 20. 套接字文件傳輸
- 21. 文件鎖定套接字?
- 22. 批處理文件只有今天下載文件
- 23. 用URL和套接字下載的速度有什麼區別?
- 24. 由自編碼的下載管理器使用套接字下載後截斷的tar.gz archieve使用套接字
- 25. 直接下載文件(pdf)
- 26. 從鏈接下載文件
- 27. Bash下載文件的腳本只有在以前沒有下載文件的情況下
- 28. Inno下載插件 - 只下載更新文件
- 29. 只有在存在ruby的情況下才能下載文件
- 30. 直接下載文件vs讀取文件作爲下載
爲什麼你需要這樣做?僅僅是爲了學習BSD套接字?無論如何,使用BSD套接字編寫FTP或HTTP客戶端會很容易,並且不難找到一個示例。你也想寫一個服務器嗎? – 2010-04-17 19:27:50
諾普只需要客戶端。它是iphone應用程序的一部分。簡單地說,高級別的可可類是不夠的 – Alex1987 2010-04-17 19:30:31
只是試圖澄清... 所以,你想在你的iPhone上編寫一個Objective-C程序,該程序將轉到常規(不是http或FTP)服務器上,網頁。 – 2010-04-17 19:44:29