Передача файла с одного устройства ios на другое с использованием сети Wi-Fi и 3G?
Мне просто интересно узнать, могу ли я отправлять файлы с одного устройства ios на другое, используя сеть Wi-Fi или 3G. Я не уверен, что это возможно или нет.
Я просмотрел документацию Apple по ссылке CFNetwork и нашел ссылку cfftp. Я не могу понять это ясно, поскольку он говорит, что мы можем реализовать поток чтения с удаленного сервера.
Я хочу прочитать файл с одного устройства на другое устройство и написать то же самое с помощью Wi-Fi обоих устройств так же, как мы можем сделать с помощью Bluetooth
,
- Можно ли отправить файл по сети Wi-Fi и 3G, подключив только 2 устройства? (Без посредника)
- Я ищу правильное направление?
- Если нет, пожалуйста, направьте меня в правильном направлении.
- Есть ли в 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")
}
}