Форум русской поддержки Joomla!® CMS
07.12.2016, 12:48:12 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
   
   Начало   Поиск Joomla 3.0 FAQ Joomla 2.5 FAQ Joomla 1.5 FAQ Правила форума Новости Joomla Реклама Войти Регистрация Помощь  
Страниц: [1]   Вниз
  Добавить закладку  |  Печать  
Автор

tcp client-server в Joomla 3.6

 (Прочитано 221 раз)
0 Пользователей и 1 Гость смотрят эту тему.
-VenoM-
Захожу иногда
**

Репутация: +0/-0
Offline Offline

Сообщений: 16


« : 26.10.2016, 16:05:06 »

Здравствуйте!
 
 Есть задача открыть tcp порт, принимать и обрабатывать данные.

С какой стороны лучше подступиться?

Записан
dmitry_stas
Профи
********

Репутация: +798/-4
Online Online

Сообщений: 7768



« Ответ #1 : 26.10.2016, 16:09:51 »

лучше подступиться со стороны nodejs
Записан
-VenoM-
Захожу иногда
**

Репутация: +0/-0
Offline Offline

Сообщений: 16


« Ответ #2 : 26.10.2016, 16:21:25 »

Спасибо за оперативный ответ, ваще пишу на С, с js немного знаком.

 Прежде чем начал изучать node.js (забегая вперёд) - когда я напишу программу, которая бы выполняла все необходимые операции с tcp соединениями, каким образом её встроить в готовый шаблон?
Записан
dmitry_stas
Профи
********

Репутация: +798/-4
Online Online

Сообщений: 7768



« Ответ #3 : 26.10.2016, 16:24:36 »

я откровенно говоря не очень понимаю при чем тут Joomla Azn то, о чем вы говорите - это сторона сервера. шаблон - это сторона клиента. что именно вы хотите встроить в шаблон?

ваще пишу на С
если пишите на С - пишите на С. тогда nodejs не нужен. или на С уже порты перестали открываться? Azn
Записан
-VenoM-
Захожу иногда
**

Репутация: +0/-0
Offline Offline

Сообщений: 16


« Ответ #4 : 26.10.2016, 16:41:55 »

Под web на С не пишу, пишу под микропроцессоры. Поэтому не очень понятно с чего начать, т.к. инструментария под web очень много. Вот кидаю данные с датчиков в tcp, нужно теперь что-то с ними делать.
Конкретно: принять в режиме tcp сервера, обработать, вывести на страничку, отправить клиентам в режиме tcp client.

 Joomla+denver+sql при том, что взял готовый шаблон, переделал его под свой сайт. Теперь хочу отображать там данные, которые сервер подсосёт по tcp. Ранее, когда делал сайт не с помощью cms, из js просто работал с данными через XMLrequest (сервер уже был).

Т.е. да, получается что нужно разобраться именно с tcp сервером. Заставить его работать постоянно, чтобы работа не зависела от открытых страничек/браузера. Как, на чём, в какой среде это лучше сделать и подружить его с шаблоном?
Записан
ChaosHead
Профи
********

Репутация: +381/-10
Offline Offline

Пол: Мужской
Сообщений: 4392



« Ответ #5 : 26.10.2016, 16:49:06 »

Стоит наверное разделить эти две вещи. Какое-то приложение будет у вас принимать нужные данные по TCP, писать их в файл или в базу данных. А на сайте уже сделать компонент или модуль, который будет выводить данные из бд или этого файла, при поступлении такого запроса (открытии этой страницы).
Записан
dmitry_stas
Профи
********

Репутация: +798/-4
Online Online

Сообщений: 7768



« Ответ #6 : 26.10.2016, 16:55:06 »

Цитировать
Как, на чём, в какой среде это лучше сделать и подружить его с шаблоном?
это форум о Joomla Azn тут вам навряд ли кто то что то подскажет по tcp серверу на сях Azn документации в интернете по этому вопросу вагон и две тележки, не писал наверное только ленивый. вот первое попавшееся навскидку. когда определитесь как именно будет сервер работать, можно будет дальше двигаться как это с жумлой состыковать.

А на сайте уже сделать компонент или модуль, который будет выводить данные из бд или этого файла, при поступлении такого запроса (открытии этой страницы).
угу, типа такого
Записан
-VenoM-
Захожу иногда
**

Репутация: +0/-0
Offline Offline

Сообщений: 16


« Ответ #7 : 26.10.2016, 17:03:25 »

Ок. Всем спасибо. Вернусь как будут результаты. Писать всё же буду на js, на С запарюсь. Да и встроить в HTML должно быть проще.
Записан
dmitry_stas
Профи
********

Репутация: +798/-4
Online Online

Сообщений: 7768



« Ответ #8 : 26.10.2016, 17:04:26 »

я вот сейчас подумал... мы наверное не в ту сторону изначально пошли... трудности терминологии, вы просто сказали tcp/ip... а ведь вам по сути нужен обычный http порт 80, так ведь? вам надо куда то обратится со своего приложения, и что-то передать. например на http://mysite.com/receive?data=... так?
Записан
-VenoM-
Захожу иногда
**

Репутация: +0/-0
Offline Offline

Сообщений: 16


« Ответ #9 : 26.10.2016, 17:14:09 »

с датчика кидаю данные, например, на удалённый сервер IP 280.180.180.1:65000. Создаём этот сервер, открываем порт 65000, получаем данные, отправляем например на http://mysite.com/receive?data=. Ну, или по запросу отправляем. Это уже дело техники.
Записан
dmitry_stas
Профи
********

Репутация: +798/-4
Online Online

Сообщений: 7768



« Ответ #10 : 26.10.2016, 17:45:38 »

т.е. вы с датчика можете кидать только на 280.180.180.1:65000 ? сразу на http://mysite.com/receive?data=... не можете кидать? нужен обязательно промежуточный сервер?
Записан
-VenoM-
Захожу иногда
**

Репутация: +0/-0
Offline Offline

Сообщений: 16


« Ответ #11 : 26.10.2016, 17:48:04 »

Да, пока только так.
Записан
dmitry_stas
Профи
********

Репутация: +798/-4
Online Online

Сообщений: 7768



« Ответ #12 : 26.10.2016, 17:55:36 »

а, ну тогда вариантов нет. значит все правильно, надо подымать там сервер. а дальше просто обработанные данные передавать в Joomla, там их сохранять в базу, а для фронта уже модулем или компонентом выводить для юзеров.

сервер на nodejs подымается можно сказать в 2 клика. несколько строк надо всего. ну плюс отправка get или post запрос, но это тоже мелочи. подымите - возвращайтесь Azn
Записан
-VenoM-
Захожу иногда
**

Репутация: +0/-0
Offline Offline

Сообщений: 16


« Ответ #13 : 26.10.2016, 18:02:13 »

Да, вот за часик уже понял, что не всё так печально с node.js+WebStorm Smiley . Так что, надеюсь, скоро вернусь. Ещё раз спасибо за советы.
Записан
-VenoM-
Захожу иногда
**

Репутация: +0/-0
Offline Offline

Сообщений: 16


« Ответ #14 : 30.10.2016, 22:16:20 »

Так, сервак запустил. Это оказалось не сложно, хотя и пришлось потратить пару дней чтобы привыкнуть к синтаксису nodejs, найти понятные примеры(если кому интересно - код могу выложить). Пока всё запустил локально: данные принимаются-отправляются, контроль соединения работает. GET/POST, в общем разбор url пока не делал, но, надеюсь, справлюсь если что. Теперь вопрос по "обработанные данные передавать в Joomla, там их сохранять в базу", который точно обозначил товарищ dmitry_stas.
 Если что - прошу поправить. Node.js имеет библиотеки для работы с БД, в т.ч. с самыми популярными XML и SQL. С SQL никогда не сталкивался (разве что полазил после установки виртуального веб-сервера "denver"). Возможно ли использовать БД SQL denver, точнее создать там таблицы и туда кидать данные? Далее можно выводить их на страничку с помощью нескольких строк js (я так делал раньше, но сейчас подозреваю есть более продвинутый способ).
Записан
dmitry_stas
Профи
********

Репутация: +798/-4
Online Online

Сообщений: 7768



« Ответ #15 : 30.10.2016, 22:34:18 »

а дальше все чуть сложнее... насколько я понимаю логику у вас, локальная бд вам не нужна. вам нужно сразу из ноды передавать данные в Joomla, и сохранять уже в базу, к которой Joomla имеет доступ. вам ведь надо показывать это на сайте, соответственно и хранить надо там, откуда показывать. показывать на фронте вы будете скорее всего модулем. т.е. писать модуль надо в любом случае. для приема данных можно воспользоваться родным com_ajax, и все тем же модулем. т.е. модуль будет и принимать данные, и выводить их. это как по мне самый легкий путь из возможных, но не могу сказать насколько для вас легкий в реализации итого. если с php вы дела не имели до этого, то даже честно говоря не могу посоветовать вам с чего начать...
Записан
-VenoM-
Захожу иногда
**

Репутация: +0/-0
Offline Offline

Сообщений: 16


« Ответ #16 : 30.10.2016, 22:50:56 »

Да, с php не имел дела. Если это довольно сложно с "нуля", то думаю что правильнее будет его купить. В конечном счёте, глупо всё дерево задач делать самому.

 Вот более интересен пока первый вопрос. БД Joomla - имеется в виду актуальный профиль БД? С ним возможно работать из nodejs?

P.S. Я так понимаю, что с "колхозным способом" "node.js-->сохраняем в отдельную БД-->пишем на нужной станичке на js getSQLrequrest и выводим данные" - не стоит заморачиваться?

P.P.SЧто вообще я хочу сделать. Хочу сделать учётки пользователей, чтобы в каждом аккаунте отображались данные датчиков, были кнопки управления, графики.
« Последнее редактирование: 30.10.2016, 22:54:44 от -VenoM- » Записан
-VenoM-
Захожу иногда
**

Репутация: +0/-0
Offline Offline

Сообщений: 16


« Ответ #17 : 30.10.2016, 23:02:13 »

Да, с php не имел дела. Если это довольно сложно с "нуля", то думаю что правильнее будет его купить. В конечном счёте, глупо всё дерево задач делать самому.

 Вот более интересен пока первый вопрос. БД Joomla - имеется в виду актуальный профиль БД? С ним возможно работать из nodejs?

P.S. Я так понимаю, что с "колхозным способом" "node.js-->сохраняем в отдельную БД-->пишем на нужной станичке на js getSQLrequrest и выводим данные" - не стоит заморачиваться?

P.P.SЧто вообще я хочу сделать. Хочу сделать учётки пользователей, чтобы в каждом аккаунте отображались данные датчиков, были кнопки управления, графики.
Записан
dmitry_stas
Профи
********

Репутация: +798/-4
Online Online

Сообщений: 7768



« Ответ #18 : 30.10.2016, 23:06:31 »

Да, с php не имел дела. Если это довольно сложно с "нуля", то думаю что правильнее будет его купить. В конечном счёте, глупо всё дерево задач делать самому.
логично

БД Joomla - имеется в виду актуальный профиль БД? С ним возможно работать из nodejs?
БД = база данных. Joomla работает с MySQL базой, хранит там информацию. из ноды подключиться к ней в принципе можно, но так делать не нужно.

"колхозным способом" "node.js-->сохраняем в отдельную БД-->пишем на нужной станичке на js getSQLrequrest и выводим данные" - не стоит заморачиваться?
смотрите, с фронта вы в базу не обратитесь. т.е. надо обращаться с серверной части. а поскольку эти данные потом надо вывести на фронте, то логично обратиться на том сервере, где и фронт выводится. т.е. на Joomla. создавать для этого какой то отдельный транспорт - не вижу в этом никакого смысла.

Код:
Хочу сделать учётки пользователей, чтобы в каждом аккаунте отображались данные датчиков, были кнопки управления, графики.
хм, тогда это сложнее. если нужно не просто показывать, а и управлять чем-то, то модуля наверное будет мало. нужен будет или компонент, либо может быть получиться плагином обойтись.
Записан
-VenoM-
Захожу иногда
**

Репутация: +0/-0
Offline Offline

Сообщений: 16


« Ответ #19 : 30.10.2016, 23:17:21 »

Ок. Спасибо за помощь. Сколько ориентировочно может стоить такая работа, хотя бы порядок?
Т.е. исходные данные: есть отдельная БД, в которую пишу данные с помощью nodejs, нужно с ней работать (читать/писать/отображать) из под Joomla. И плюс учётки пользователей, где всё это выводится. Под управлением понимаем сохранение некоторых параметров в БД, которые потом вытащит nodejs.
Записан
dmitry_stas
Профи
********

Репутация: +798/-4
Online Online

Сообщений: 7768



« Ответ #20 : 30.10.2016, 23:42:09 »

не подскажу даже. лучше создать тему в коммерческом разделе тогда, описать ТЗ. там скажут
Записан
ezheck
Осваиваюсь на форуме
***

Репутация: +2/-0
Offline Offline

Сообщений: 34



« Ответ #21 : 06.11.2016, 12:49:22 »

Вы, товарищ, совсем не в ту степь пошли. Смею предположить, что начать нужно с понимания архитектуры проекта в целом.
Joomla - это конечно хорошо, но не настолько, чтобы для вашей задачи было все в ней так прекрасно.
Данные, наверное, лучше собирать и хранить в одном месте, а сайт сделать совсем в другом.
Записан
Страниц: [1]   Вверх
  Добавить закладку  |  Печать  
 
Перейти в:  

Powered by SMF 1.1.21 | SMF © 2006, Simple Machines

Joomlaforum.ru is not affiliated with or endorsed by the Joomla! Project or Open Source Matters.
The Joomla! name and logo is used under a limited license granted by Open Source Matters
the trademark holder in the United States and other countries.

LiveInternet