Передача файла с одного устройства ios на другое с использованием сети Wi-Fi и 3G?

Мне просто интересно узнать, могу ли я отправлять файлы с одного устройства ios на другое, используя сеть Wi-Fi или 3G. Я не уверен, что это возможно или нет.

Я просмотрел документацию Apple по ссылке CFNetwork и нашел ссылку cfftp. Я не могу понять это ясно, поскольку он говорит, что мы можем реализовать поток чтения с удаленного сервера.

Я хочу прочитать файл с одного устройства на другое устройство и написать то же самое с помощью Wi-Fi обоих устройств так же, как мы можем сделать с помощью Bluetooth,

  1. Можно ли отправить файл по сети Wi-Fi и 3G, подключив только 2 устройства? (Без посредника)
  2. Я ищу правильное направление?
  3. Если нет, пожалуйста, направьте меня в правильном направлении.
  4. Есть ли в ios класс для передачи файлов по wifi и 3G?

заранее спасибо.

2 ответа

Решение

Чтобы осуществлять передачу между двумя устройствами без посредника, по крайней мере, на одном устройстве должен быть запущен какой-либо сервер (например, http://code.google.com/p/ios-ftp-server/, для клиента см. SimpleFTPSample). Но тогда вам также необходимо обнаружить IP-адреса (возможно, с ZeroConf). Много хлопот, если возможно вообще; оба клиента должны быть в одной сети и поэтому не будут работать в 3G.

Если с медиатором у вас все в порядке, все становится намного проще. Я создал приложение Open Souce под названием Cross Copy, которое использует команды http REST для передачи файлов между устройствами (и, следовательно, также предоставляет веб-приложение для рабочего стола). Очевидно, есть и другие хорошие решения на основе медиаторов: DropBox, Bump, Hoccer и т. Д.

Библиотека GCDWebServer была потрясающей!

Он создает сервер на вашем устройстве и предоставляет веб-панель для доступа к серверу на другом устройстве.

Вот версия Swift:

      import GCDWebServer
var webUploader = GCDWebUploader()

    func start() {
        let documentsPath = FileManager.default.urls(for: .documentDirectory, in: .userDomainMask).map(\.path).first
        
        webUploader = GCDWebUploader(uploadDirectory: documentsPath!)
        webUploader.start()
        if let serverURL = webUploader.serverURL {
            print("Visit \(serverURL) in your web browser")
        }
    }

Другие вопросы по тегам