Условия "работа в интернете" (а не локальной сети) и "24/7" задают особые требования, которыми можно пренебречь при разработке какой-то "ерунды" и часто это делают, а у вас не будет работать такое.
Например, для надежной связи (пропадает Wi-Fi, контакт в кабеле...) нужно изучить протокол TCP, понимать, когда происходят "обрывы", как их выявлять вообще. Я исследовал с помощью сетевого сниффера Wireshark, собственно вынимая кабель и отключая Wi-Fi-роутер (хотел мудрить что-то особое на Arduino и т.п., но не было денег, да и без этого вполне смог обойтись) и, конечно же, читал теорию - форумы, статьи, только на практике понимал.
Насчет "интернета", кроме надежной связи тут есть еще нюанс - боты, их гораздо больше чем я думал, а логика их непонятна, сервер только что зарегистрирован, порт естественно не 80 и т.п., но тем не менее не проходит и суток, как перебрав все порты появляется бот и отправляет непонятно что, и сервер "вылетает" с ошибкой по парсингу, так что надо учитывать сразу же, иначе они помешают уже на этапе тестирования.
Еще алгоритмическое мышление здесь важно, у меня с ним было очень плохо, поэтому сначала было тяжело работать с кодом, в котором каждая строчка "завернута" в try-catch
, а в catch находится еще пять строчек (логирование и т.п.) и еще непонятно что именно лучше делать в каждом catch
, то ли клиента отключать, то ли что. :) Но, вода и камни точит - привык.
А теперь о библиотеках... Вся эта тирада из четырех абзацев к тому, что так и не нашел я библиотек, которые бы сделали все перечисленное за меня, все они слишком абстрактны, а искал очень хорошо и умею это гораздо лучше, чем писать, но результат, только время зря потратил, так что - делать самим!
Языки - тоже пробовал разные - без разницы, что привычнее и подходит для других требований задачи, на том и пишете.