Я не очень разбираюсь в сокетах. Что меня интересует, так это как работают сокеты.
1) Брандмауэры часто блокируют порты. Можно ли предположить, что если я запрашиваю сокет и он находится за заблокированным портом, все, что отправлено или получено, будет перехвачено и уничтожено? Это проблема?
2) На стороне сервера, как вы поддерживаете соединение для отправки данных обратно, как если бы я создавал приложение для чата, возможно ли установить соединение через сокет и сохранить его живым, а сервер в основном работает новые данные через поток. Вместо того, чтобы приложениям приходилось делать частые запросы.
3) Если приложение переходит в фоновый режим, яблоко говорит, что оно будет хранить сокет до тех пор, пока он не нужен (если это VoIP). Означает ли это, что я все еще могу отправлять данные в приложение и обрабатывать их? Если мое приложение зарегистрировано для обновлений местоположения и уже выполняется в фоновом режиме, будет ли сокет оставаться открытым?
Существуют ли какие-либо серверные языки, которые делают это простым? В настоящее время я использую Python и Django для простого http-сервера. Есть какие-нибудь учебники по настройке сервера, который может поддерживать соединения живыми. Я действительно мало знаю об этом, поэтому то, что я спрашиваю, может не иметь никакого смысла, но какое-то направление будет с благодарностью.