Задать вопрос
@kos_dev

Что требуется для создания приложения, котрое будет постоянно работать на каком-то сервере (к примеру FTP)?

Здравствуйте, хочу создать приложение которое будет работать не у меня на компьютере, а допустем на арендованном хостинге, подскажите, что для этого требуется использовать. Конкретно: какие ЯП лучше всего подойдут, если в приоритете C#, какие библиотеки лучше задействовать, кроме стандартных, может кто-то знает опен сурс проекты с такой задачей. По сути я хочу написать сервер, для создания сервер-клиент связи, но раньше никогда не работал над такой задачей.
Заранее всем большое спасибо за ответы и советы.
  • Вопрос задан
  • 186 просмотров
Подписаться 1 Оценить 1 комментарий
Решения вопроса 2
Rou1997
@Rou1997
Условия "работа в интернете" (а не локальной сети) и "24/7" задают особые требования, которыми можно пренебречь при разработке какой-то "ерунды" и часто это делают, а у вас не будет работать такое.
Например, для надежной связи (пропадает Wi-Fi, контакт в кабеле...) нужно изучить протокол TCP, понимать, когда происходят "обрывы", как их выявлять вообще. Я исследовал с помощью сетевого сниффера Wireshark, собственно вынимая кабель и отключая Wi-Fi-роутер (хотел мудрить что-то особое на Arduino и т.п., но не было денег, да и без этого вполне смог обойтись) и, конечно же, читал теорию - форумы, статьи, только на практике понимал.
Насчет "интернета", кроме надежной связи тут есть еще нюанс - боты, их гораздо больше чем я думал, а логика их непонятна, сервер только что зарегистрирован, порт естественно не 80 и т.п., но тем не менее не проходит и суток, как перебрав все порты появляется бот и отправляет непонятно что, и сервер "вылетает" с ошибкой по парсингу, так что надо учитывать сразу же, иначе они помешают уже на этапе тестирования.
Еще алгоритмическое мышление здесь важно, у меня с ним было очень плохо, поэтому сначала было тяжело работать с кодом, в котором каждая строчка "завернута" в try-catch, а в catch находится еще пять строчек (логирование и т.п.) и еще непонятно что именно лучше делать в каждом catch, то ли клиента отключать, то ли что. :) Но, вода и камни точит - привык.
А теперь о библиотеках... Вся эта тирада из четырех абзацев к тому, что так и не нашел я библиотек, которые бы сделали все перечисленное за меня, все они слишком абстрактны, а искал очень хорошо и умею это гораздо лучше, чем писать, но результат, только время зря потратил, так что - делать самим!
Языки - тоже пробовал разные - без разницы, что привычнее и подходит для других требований задачи, на том и пишете.
Ответ написан
Комментировать
devspec
@devspec
Помогло? Отметь решением
Стек технологий зависит от используемой ОС на сервере.
Если это linux - логично использовать ЯП, популярные на linux (например, python или нативный c++) и гуглить в сторону daemon
Если это windows - вполне можно использовать c# и гуглить в сторону windows service
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 4
saboteur_kiev
@saboteur_kiev
software engineer
Приложение не может работать на FTP сервере. FTP сервер нужен для передачи файлов, потому что это просто File Transfer Protocol.
А требуется вам немного глубже понимать как работают программы и что такое сеть, потому что в данный момент ваш вопрос сформулирован крайне некорректно и полезный совет вам дать сложно.
Ответ написан
Antonchik
@Antonchik
Программирую на HTML
Если хотите веб интерфейс то asp. Если клиент северное соединение, тогда копайте в сторону сокетов
Ответ написан
Комментировать
@GoldGoblin
Бери C# бери те библиотеки которые тебе нужны и пиши. Нужен веб бери asp нужен сервер бери сокеты.
Ответ написан
Комментировать
@kos_dev Автор вопроса
Для запуска произвольной программы вам потребуется VPS - полноценный виртуальный сервер, например на Ubuntu. Там будет root доступ и вы сможете поставить что угодно.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы