Как я могу общаться с веб-приложением Sinatra через сокет Unix? - PullRequest
4 голосов
/ 11 мая 2011

Я пишу веб-приложение с использованием Sinatra на встроенном устройстве, и мне нужно иметь возможность отправлять и получать данные через сокет Unix во встроенный код, работающий на том же устройстве.Скорее всего, мы будем использовать JSON для формата данных, но я не нашел пример, который действительно иллюстрирует, как настроить это и взаимодействовать с веб-приложением.

Я ищу оба примеракод, который будет прослушивать сокет, а также пример, показывающий, как получить эти данные на веб-странице Sinatra.Я видел кусочки того и другого, но ничего, что связывало бы понятия вместе.

Ответы [ 2 ]

2 голосов
/ 12 мая 2011

Я не делал этого лично, но я знаю, Event Machine поддерживает работу с сокетом Unix. Преимущество машины событий заключается в том, что вы можете иметь код, слушающий сокет, не «мешая» веб-серверу sinatra. Таким образом, вы можете, например, прослушать сокет для получения некоторой статистики, сохранить эту статистику в памяти и затем вернуть ее клиентам по HTTP-запросам.

И если вы собираетесь использовать EventMachine, я предлагаю использовать thin в качестве веб-сервера, который реализован поверх него, поэтому вам не нужно запускать его вручную.

1 голос
/ 12 мая 2011

Я никогда не делал этого лично, но Unicorn может прослушивать Unix-сокеты и может обслуживать приложения Sinatra .

...