仅使用套接字下载文件

时间:2010-04-17 19:20:53

标签: file sockets download client

我想在iPhone上编写一个简单的客户端,只使用bsd套接字从http服务器下载文件。 我在网上搜索但找不到任何有用的东西。你能指点一下吗?

由于

亚历

2 个答案:

答案 0 :(得分:0)

这取决于为您提供文件的服务器的性质。它可以是FTP,HTTP,网络文件共享,甚至是像Gopher或scp这样的东西。无论如何,问题的基本性质都是一样的:

  1. 使用connect将套接字连接到要联系的服务器。
  2. 使用服务器可识别的协议(FTP,HTTP等)传输请求
  3. read服务器返回的数据并将其保存到本地文件

答案 1 :(得分: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)