iOS: GCDWebServer не работает на устройстве

Я использую GCDWebServer, точнее WebUploader. Когда я тестирую его на симуляторе iPhone, все работает, но на устройстве я не вижу веб-страницу, когда я вхожу, например. http://192.168.2.4:8080 в браузере. У меня истекло время ожидания подключения из браузера.

Я подключен по WiFi к той же сети, ошибок в консоли не вижу, так что может быть не так? Я использую iOS 8.


person Bartosz Bialecki    schedule 06.08.2015    source источник
comment
Сравните сетевые настройки вашего Mac и iPhone.   -  person itsji10dra    schedule 06.08.2015
comment
Что именно я должен сравнить? Все настройки Wi-Fi одинаковы.   -  person Bartosz Bialecki    schedule 06.08.2015
comment
Они в одной подсети?   -  person itsji10dra    schedule 06.08.2015
comment
Да, все настраивается через DHCP.   -  person Bartosz Bialecki    schedule 06.08.2015


Ответы (3)


Вы уверены, что используете правильный порт? При работе на устройстве iOS порт по умолчанию — 80, а не 8080.

Проверьте журнал в Xcode, когда приложение запущено, оно точно скажет, какой IP-адрес и порт для GCDWebServer.

Однако тот факт, что вы получаете соединение с тайм-аутом вместо ошибки «не найдено», может означать, что что-то еще препятствует открытию соединения. Убедитесь, что приложение активно на вашем устройстве iOS, иначе сервер может быть заблокирован.

Также попробуйте перезагрузить устройство iOS, в iOS есть редкая ошибка, из-за которой сокет прослушивания, ранее использовавшийся приложением, может оставаться «зависшим» на несколько минут, даже если приложение было убито.

Если это по-прежнему не работает, то, скорее всего, это проблема маршрутизатора WiFi, из-за которого блокируется трафик между вашим компьютером и вашим устройством iOS.

person Pol    schedule 06.08.2015
comment
Да, на устройстве у меня порт 80, приложение активно. Я также пытался запустить веб-сервер на пользовательском порту, но он тоже не работает. - person Bartosz Bialecki; 07.08.2015
comment
Тогда это действительно похоже на проблему с маршрутизатором WiFi: попробуйте другую сеть WiFi и/или попробуйте подключиться к GCDWebServer, работающему на вашем компьютере, с другого компьютера (или даже вашего устройства iOS). - person Pol; 07.08.2015
comment
Вы правы, это должно быть что-то не так с сетью. Проверил в другой сети, все работает. Спасибо. - person Bartosz Bialecki; 07.08.2015

GCDWebServer не работает, если он подключен к другой сети Wi-Fi. это работает только в том случае, если и мобильный телефон, и компьютер используют одну и ту же сеть Wi-Fi. что мне нужно сделать, если я хочу, чтобы GCDWebServer работал даже с другой сетью Wi-Fi. @Пол

person Kevin Mac    schedule 03.09.2015

GCDWebServer — очень легкий и надежный веб-сервер. Я выпускаю музыкальный стример WebDAV, способный динамически создавать список воспроизведения. При создании списка воспроизведения он отправляет много асинхронных NSURLSessions. Не было необходимости изменять исходный код, за исключением значения GCDWebServerOption_MaxPendingConnections. Я думаю, что GCDWebServerOption_MaxPendingConnections=16 кажется небольшим для асинхронного обхода каталога. Поэтому я установил GCDWebServerOption_MaxPendingConnections=64. Теперь я редко вижу «зависание» выше, и скорость обхода каталога заметно улучшилась.

person tmatsugaki    schedule 21.10.2018