2014-10-30 2 views
0

Я довольно новичок в сети TCP и хотел бы использовать TCP для передачи данных в режиме реального времени.Использование TCP для данных в реальном времени в режиме реального времени в течение определенного периода времени

По сути, мне нужен Python для отправки данных (один символ) в приложение для Android. Данные, подлежащие отправке изменений в режиме реального времени, а также при изменении данных (обычно около 0,5 - 1 сек.), Он должен отправлять эти новые данные в приложение Android и будет отображаться в приложении сразу.

Мой вопрос: 1) Если я использую TCP, возможно ли открыть соединение сокета даже после отправки одной информации для прогнозирования последующих передач. Или мне нужно закрыть соединение после каждой передачи данных и установить другое соединение сокета.

2) Что такое латентность TCP в случае, если я выполняю что-то подобное?

Рекомендации экспертов в случае использования любой формы!

ответ

0

Большинство реализаций TCP задерживают отправку небольших буферов на короткий промежуток времени (~ .2 секунды), надеясь, что перед добавлением расходов на отправку сегмента TCP будет представлено больше данных. Вы можете использовать параметр TCP_NODELAY для (в основном) устранения этой задержки. Есть несколько других факторов, которые мешают, например, когда стек находится в последовательности ACK, но его разумно хороший способ получить оперативную доставку.

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

Иногда данные в реальном времени «лучше никогда, чем поздно», что делает дейтаграммы UDP хорошим вариантом.

обновление: TCP-соединение остается открытым до тех пор, пока вы не закроете их при завершении работы (shutdown), ни один из тайм-аутов сокета на уровне сервера или на уровне сервера, или базовый стек, наконец, соскучится и закроет его. Таким образом, вы обычно подключаетесь и отправляете данные периодически со временем. Обычный способ работы с таймером сокета заключается в повторном подключении, если вы нажмете ошибку отправки.

Смежные вопросы