Ответ 1
Если вы работаете в Windows, используйте http.sys. Это легкий веб-сервер, открытый через платформу .NET.
http://mikehadlow.blogspot.com/2006/07/playing-with-httpsys.html
Я думаю о следующих шагах для проекта, который я написал. В настоящее время это настольное приложение, которое управляет устройством последовательного порта.
Я рассматриваю возможность подключения браузеров к некоторому процессу для получения обновлений "почти в реальном времени" о состоянии и т.д. устройства. Возможно также разрешить управление клиентом браузера.
Я бы предпочел не писать собственный веб-сервер с нуля, и это был бы очень ограниченный веб-сервер.
Любые предложения о том, где искать?
Я бы предпочел реализацию С++ или С#.
Если вы работаете в Windows, используйте http.sys. Это легкий веб-сервер, открытый через платформу .NET.
http://mikehadlow.blogspot.com/2006/07/playing-with-httpsys.html
Я не знаю HTTP-сервера С#, но вы могли бы сделать свой собственный довольно быстро (см. http://www.codeplex.com/webserver).
Как и было предложено, lighthttpd может сделать трюк.
Я бы также рекомендовал simpleweb, который является очень легким и мощным http-сервером, написанным на Java.
Я слышал хорошие вещи от друга о lighthttpd
nginx очень легкий и очень масштабируемый (например, см. Wordpress story для громкого дела). POSIX-только.
Посмотрите проект моего веб-сервера: http://www.codeplex.com/webserver Он содержит вещественную ветвь для минимальной.
Рассмотрите возможность взглянуть на класс System.Net.HTTPListener. Он реализует HTTP-прослушиватель, который позволяет очень легко реагировать на запросы HTTP от клиентов. Поскольку вам не нужен полноценный HTTP-сервер, это, вероятно, путь!
Еще несколько советов:
Вот еще одна альтернатива, которую я написал в прошлом году и хорошо служил мне.
EmbedIO: https://github.com/unosquare/embedio
Я использую его в основном для создания сервисов RESTful на малиновой Pi (soft-float). Он также лицензировал MIT.
Когда вы запускаете веб-проект из Visual Studio, вы обычно запускаете его через Cassini2. Это также загружаемый проект.
В противном случае, если вы хотите что-то меньшее, вы можете посмотреть библиотеку Indy 10 (с открытым исходным кодом), которая представляет собой полный набор сетевых авизо. Вы могли бы, вероятно, написать свой собственный веб-сервер довольно быстро с этим.
Или NSoftware также имеет несколько сетевых авизо. Они являются коммерческими, но хорошо документированы, и мне повезло с их поддержкой (но для этого было какое-то время).
Поскольку вы не пишете его самостоятельно, это должен быть минимальный сервер? Apache и связанные могут служить вашей цели. Это тяжеловес, но не зная больше ваших требований, которые могут или не могут быть проблемой.
Посмотрите на сайт Codeprpject
существует много открытых и простых веб-серверов
Я не знаю, будет ли соответствовать вашему проекту, но http://www.tntnet.org/ выглядит многообещающим. Кроме того, вы можете найти библиотеку http-сервера, в которую вы можете добавить свой собственный код для создания веб-сервера с встроенным приложением. Есть много (например, libmicrohttpd), что не стоит перечислять здесь, не зная вашего проекта.
Вы также можете попробовать nodejs для создания веб-сервера.
Есть примеры, доступные при реализации простой