Я пишу клиент UDP для Android, который подключается и взаимодействует в двух направлениях (без связи между отправленными и полученными сообщениями) с сервером Windows. После отправки исходной дейтаграммы на сервер я хочу иметь возможность отправлять данные в любом направлении в любое время. Мои вопросы:
1) Правильно ли держать исходный сокет открытым и использовать его как для отправки, так и для получения?
2) Должен ли я отправлять и получать в одном потоке (с тайм-аутом при получении) или в отдельных потоках (позволяя блокировать получение)?
3) Будет ли сокет автоматически закрываться, если данные не будут отправлены/получены в течение определенного интервала?