Если вы сделаете соединение в основном потоке пользовательского интерфейса, ваше приложение перестанет отвечать на запросы, пока соединение не будет разорвано, что неправильно !!! Вы должны создать поток для каждого соединения, которое вы устанавливаете, это настоятельно рекомендуется.
Вам нужно будет создать поток, который будет каждый раз спать по 30 секунд, а затем выполнять ту работу, которую вы сказали.
Ваша работа должна выполняться в потоках, не используйте основной поток для этих вещей