5 / 5 / 2
Регистрация: 07.01.2013
Сообщений: 102
|
|
1 | |
Вещание данных в сеть (сервер) - что читать?08.10.2015, 01:31. Показов 1237. Ответов 8
Метки нет (Все метки)
Добрый день!
Имеется устройство с датчиками и фирменная библиотека на Пайтоне, позволяющая к нему подключаться и читать с этого устройства показания (числа от 0 до 1023) 18-ти датчиков в виде переменной, содержащей матрицу 3*6 с частотой 30 кадров/сек. Пожалуйста, подскажите, как сделать так, чтобы скрипт на Пайтоне бесконечно "вещал" на определенном порту эту переменную с матрицей (т.е. являлся бы сервером)? Остальная часть уже готова - а именно - программа на Си (клиент), которая будет подключаться к IP:Port и единоразово считывать матрицу, чтобы потом обрабатывать её по моему алгоритму.
0
|
08.10.2015, 01:31 | |
Ответы с готовыми решениями:
8
Клиент-Сервер приложение что читать? Необходимо вещание в сеть видео. IceCast2 + Traktor и вещание радио в локальную сеть Как настроить VLC на потоковое вещание через bluetooth сеть (PAN)? |
5 / 5 / 2
Регистрация: 07.01.2013
Сообщений: 102
|
|||||||||||
08.10.2015, 10:36 [ТС] | 4 | ||||||||||
Полагаю, что мне нужен UDP, верно? - как раз он может слать поток из данных в сторону клиента без подтверждений и остановок: просто по мере получения данных с датчиков.
Если я ошибаюсь в понимании принципа действия UDP, пожалуйста, поправьте. Добавлено через 10 минут Боюсь, что я неправильно изъяснился - фирменная библиотека позволяет подключаться к датчикам только с ПК, физически подключенного к устройству. А мне то, как раз, хочется подключаться из абы какого места нашей локальной сети Т.е. к моему нынешнему коду на Пайтоне (читающему, с помощью библиотеки, данные с подключенного к нему физически устройства с датчиками) как раз не хватает функционала вещания этих данных в локаль. Нет, очень желательно, чтобы серверная не прекращала работу после передачи одной матрицы со значениями датчиков В идеале бы иметь возможность с программы на Си считать последовательно идущие 5/10/15 пачек с матрицами, но это я уже жирую. Сейчас бы понять, как это запустить, а там уж разберусь как-нибудь. Добавлено через 17 минут В Пайтон Вики (https://wiki.python.org/moin/UdpCommunication) имеется пример кода:
пусть у ПК, на котором будет программа на Си, всегда будет один и тот же IP, MESSAGE будет хранить матрицу со значениями датчиков, а последняя строка будет отрабатывать всякий раз, когда код на Пайтоне считывает данные с устройства. Будет ли работать, или я плохо понял процесс? Грубо говоря, я вижу это так:
0
|
08.10.2015, 11:43 | 5 |
Тогда это уже не сервер в узком смысле слова, а спам-рассылка
Порядок такой: сервер слушает, клиент подключается, клиент делает запрос, сервер принимает запрос, что-то и отдаёт ответ, клиент получает ответ. С udp не работал, но для простого echo-сервера (небольшие текстовые сообщения) примерчик есть.
1
|
5 / 5 / 2
Регистрация: 07.01.2013
Сообщений: 102
|
|
08.10.2015, 11:55 [ТС] | 6 |
В некотором смысле, спам-рассылка - это то, что мне и нужно
Тот порядок, что Вы привели - для echo, так? Выглядит весьма логично. В ПайтонВики не нашел примеров для echo - буду очень благодарен, если Вы поделитесь таковым
0
|
08.10.2015, 13:19 | 7 | |||||||||||||||
У меня сервер крутился в отдельном потоке, общаясь с основным через qt-шные события. Если надо, упростите сами (без потока).
1
|
5898 / 3355 / 1035
Регистрация: 03.11.2009
Сообщений: 10,003
|
|||||||||||
08.10.2015, 15:57 | 8 | ||||||||||
Или по-простому, без обработок, без проверок:
на сервере:
Вывод сервера: Код
Got connection from ('192.168.16.160', 63875) . Sending data. Got connection from ('192.168.16.160', 63889) . Sending data. Код
[0, 0, 1, 1, 0, 0, 1, 0, 0, 1] [1, 0, 0, 1, 0, 1, 1, 0, 1, 0]
1
|
5 / 5 / 2
Регистрация: 07.01.2013
Сообщений: 102
|
|
12.10.2015, 12:29 [ТС] | 9 |
Большое спасибо всем откликнувшимся! Удалось понять, как оно устроено, но в конце-концов я все же решил, что лучше мне читать одно значение по удаленному запросу - реализовал все на TCP Пайтон - великолепный язык!
0
|
12.10.2015, 12:29 | |
12.10.2015, 12:29 | |
Помогаю со студенческими работами здесь
9
Как читать OPC сервер уже существующий? Отправка данных на сервер: что не так в коде Передача на дальние расстояния сигнала + домашняя сеть. Одна сеть или разделить на 2 . Что лучше подскажите! Что нужно знать для построения схемы клиент-сервер-база данных Что читать по C++? Что читать[C++] Что читать Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |