Отправить данные в гнездо на iPhone - PullRequest
1 голос
/ 11 декабря 2011

Я не очень разбираюсь в сокетах. Что меня интересует, так это как работают сокеты.

1) Брандмауэры часто блокируют порты. Можно ли предположить, что если я запрашиваю сокет и он находится за заблокированным портом, все, что отправлено или получено, будет перехвачено и уничтожено? Это проблема?

2) На стороне сервера, как вы поддерживаете соединение для отправки данных обратно, как если бы я создавал приложение для чата, возможно ли установить соединение через сокет и сохранить его живым, а сервер в основном работает новые данные через поток. Вместо того, чтобы приложениям приходилось делать частые запросы.

3) Если приложение переходит в фоновый режим, яблоко говорит, что оно будет хранить сокет до тех пор, пока он не нужен (если это VoIP). Означает ли это, что я все еще могу отправлять данные в приложение и обрабатывать их? Если мое приложение зарегистрировано для обновлений местоположения и уже выполняется в фоновом режиме, будет ли сокет оставаться открытым?

Существуют ли какие-либо серверные языки, которые делают это простым? В настоящее время я использую Python и Django для простого http-сервера. Есть какие-нибудь учебники по настройке сервера, который может поддерживать соединения живыми. Я действительно мало знаю об этом, поэтому то, что я спрашиваю, может не иметь никакого смысла, но какое-то направление будет с благодарностью.

1 Ответ

1 голос
/ 07 апреля 2012

1) Я вообще не обнаружил проблем с брандмауэрами.

2) Я использовал витой сервер рядом с моим веб-сервером для реализации сервера сокетов, управляемого событиями, и он прекрасно работает.

3) сокеты будут оставаться открытыми до тех пор, пока вы выполняете в фоновом режиме, и методы делегата вызываются для обработки потоковых событий.

Здесь есть отличное учебное пособие:

http://www.raywenderlich.com/3932/how-to-create-a-socket-based-iphone-app-and-server

, которое рассказывает о витой структуре и о том, как создать приложение для чата с сокетами.Я нашел это очень полезным.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...