Нужна помощь в настройке Ratchet socket servera. Есть у меня такая вот схема: Устройство которое посылает данные по сom-порту->программа ретранслятор, которая перебрасывает данные на TCP\IP порт->web страница(клиент на получение данных).
Установил Ratchet, все работает. Сервер сокета запускается, если по инструкции создавать сокет клиент через
js все работает. Но вот проблема, данные не отображаются на сервере, на который перекидываю данные на порт. Вопрос: Как настроить чтобы socket-server принимал данные и передавал клиенту?
profaller, проблема в том что, когда я отправляю данные на порт сервера через TCP\IP
сокет сервер их не принимает. Если я подключаюсь к сокет-серверу через js и отправляю что-нибудь, он нормально отображает. А мне надо что бы он отображал мои данные, которые перебрасываю на TCP\IP: порт.
Клиент js
var socket = new WebSocket('ws://localhost:8080');//помните про порт: он должен совпадать с тем, который использовался при запуске серверной части
socket.onopen = function(e) {
socket.send('{"idUser":'+yiiConfig["idUser"]+'}'); //часть моего кода. Сюда вставлять любой валидный json.
};
socket.onmessage = function(e) {
console.log(e.data);
};
Вот схема: https://habrastorage.org/webt/5a/f1/88/5af1889461a...
Устройство которое посылает данные по сom-порту->программа ретранслятор, которая перебрасывает данные на TCP\IP порт->web страница(клиент на получение данных).
profaller, отправляю данные вот через эту программу
Возможно причина в том что сокет сервер ждет "рукопожатия". Протокол 'ws://localhost:8080' - не влияет?
У меня уже кругом голова.....больше не знаю как решить мою проблему.
Ну видимо в этой программе поверх TCP/IP ничего нет. С чего вы решили что она сможет работать по протоколу ws? Посмотрите в документации к программе что она шлет или свяжитесь с разработчиками программы.
profaller, я же спрашиваю причину, почему если я кидаю на порт TCP\IP я не получаю данные .... дай ссылки чтоль, вот изучи это, то. Смысл от твоих сообщений? Я бы и не спрашивал если бы, хорошо разбирался в этом(((
Сделайте "прокладку" которая будет принимать данные с устройства и передавать их уже по протоколу ws на сервер. По сути вам нужен ws-клиент, который будет уметь принимать данные с устройства. Под PHP есть ws-клиенты на том же Ratchet, например - https://github.com/ratchetphp/Pawl
profaller, к сожалению PHP не умеет работать с последовательными портами на прием данных на Windows. Если бы умел то не тратил бы время на сокет серверы, клиенты. Да, Вы правы, вся проблема в том что, я не думал о различий сокетов. Что ж после, чтения, хоть понял, что websockets отличаются от сокетов TCP\IP.
Буду дальше изучать. Благодарен Вам за консультацию.