2016-10-07 3 views
1

Вот установка: На одноплатном компьютере с очень рудиментарным linux я запускаю Django app. Это приложение при нажатии кнопки или в ответ на данные, описанные ниже, должно вызвать функцию из библиотеки, написанной в C, или скомпилированную программу C для записи данных в системную память по указанному адресу,/peek нравится. (Python, похоже, не в состоянии сделать это изначально).
Приложение Django также должно отображать данные, непрерывно, которые считываются из памяти из той же библиотеки/программы.Каков наилучший способ получить непрерывные данные из другой программы в Django?

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


Отказа от ответственности: Я 'm довольно новый для всего веб-фреймворка и, что еще важнее, для веб-разработки в целом, поэтому извините, если это bad вопрос как в, я мог бы легко найти информацию по этой теме в Интернете, но я не мог найти хорошей отправной точкой на этом.

ответ

0

Я хотел бы добавить комментарий, но не хватает места ... в любом случае

Вы можете написать родное расширение в C для Python, которые могли бы сделать то, что вам нужно, проверить this.

Теперь по факту отображение данных непрерывно Это нечеткое расхождение, если эта библиотека C очень быстро и очень быстро переключает этот гипотетический адрес, вам необходимо как можно быстрее обновить браузер.

Я думаю, websockets сделал бы трюк, но они связаны с js, поэтому я думаю, что NodeJs станет лучшим кандидатом на серверную часть вашего приложения, а не Django.

Если вы хотите придерживаться Django, вы также можете выставить URL-адрес с генерируемым значением адреса и постоянно иметь веб-страницу (с небольшим Interval), проверяя этот URL-адрес с помощью простого вызова ajax, как бы уродливого и неэффективного, но он будет работать ,

В любом случае имхо ваш лучший выбор для веб-сайтов, потому что с ними у вас есть fullduplex связь между клиентом и сервером.

Удачи с вашим проектом.

Информация:

Websockets in Django with socket.io

Nodejs socket.io

+0

Адрес не коммутируемый часто, значение может быстро меняться, и некоторые изменения значения адреса должны быть отвеченными писать на ответ адрес как быстрый насколько это возможно. Таким образом, я думал, что работает поток C, который постоянно читает адреса и отвечает на них, если это будет необходимо. Теперь эта программа C должна передавать данные, когда она каким-то образом изменяется на приложение Django. –

+0

Чтобы отметить Django изменения, вы можете попробовать [Сигналы] (https://docs.djangoproject.com/en/1.10/topics/signals /). Я бы включил ваш вызов внутри Python изначально, или вы все еще можете использовать [os.system] (https://docs.python.org/3.5/library/os.html#os.системы) для вызова программы. – Marcs

Смежные вопросы