Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 06.11.2018, 06:24
Аспирант
Отправить личное сообщение для brp80000 Посмотреть профиль Найти все сообщения от brp80000
 
Регистрация: 27.10.2018
Сообщений: 40

Передача приём и отображение UDP данных
Возможна ли организация такой схемы. Есть сервер и клиент по wifi. Сервер выдает html страницу с JS а затем передает UDP пакеты с информацией (например скорость, температура).
Клиент принимает страницу, а затем слушает UDP пакеты и автоматически перерисовывает страницу (в виде цифры или в идеале стрелки, шкалы).
Ответить с цитированием
  #2 (permalink)  
Старый 06.11.2018, 08:23
Аватар для Malleys
Профессор
Отправить личное сообщение для Malleys Посмотреть профиль Найти все сообщения от Malleys
 
Регистрация: 20.12.2009
Сообщений: 382

WebSocket основан на TCP. Обратите внимание, что в случае WebSocket взаимодействие между клиентом и сервером начинается с запроса HTTP. Таким образом, вы не можете создать обычное TCP-соединение в Javascript.

WebRTC основан на UDP, он может охватывать ваш вариант использования (html5rocks.com/en/tutorials/webrtc/basics/)

Хотя WebSocket вам больше бы подошёл, думаю.
Ответить с цитированием
  #3 (permalink)  
Старый 06.11.2018, 12:18
Профессор
Отправить личное сообщение для SuperZen Посмотреть профиль Найти все сообщения от SuperZen
 
Регистрация: 08.11.2017
Сообщений: 213

я уже сделал два похожих проекта (зонды где-то по РФ летают, засылают пакеты...) C#
client - WPF - MVVM
server - WebSocket server, который крутится в сервисе... пакеты приходят на COM порт, клеим+парсим, засылаем по WS

второй на nodejs
server: express + sequelize + socket.io
client: reactjs + socket.io + electron

сейчас будем делать третий проект на втором стэке + ReactNative
второму стэку я больше рад, )
Ответить с цитированием
  #4 (permalink)  
Старый 06.11.2018, 15:27
Аспирант
Отправить личное сообщение для brp80000 Посмотреть профиль Найти все сообщения от brp80000
 
Регистрация: 27.10.2018
Сообщений: 40

То есть c TCP можно организовать запросы от клиента из JS к серверу получение ответа и отображение. А что если пакет потеряется начнутся тормоза?
Ответить с цитированием
  #5 (permalink)  
Старый 06.11.2018, 15:43
Профессор
Отправить личное сообщение для SuperZen Посмотреть профиль Найти все сообщения от SuperZen
 
Регистрация: 08.11.2017
Сообщений: 213

Сервер на чем?

вот пример для nodejs

1 создадим папку
2 выполним yarn add ws
3 создадим файл wss.js c содержимым
const WebSocket = require('ws');

const wss = new WebSocket.Server({ port: 8080 });

wss.on('connection', function connection(ws) {
  ws.on('message', function incoming(message) {
    console.log('received: %s', message);
  });

  ws.send('something');
});

4 запустим WebSocket сервер: node wss.js
5 сделаем клиент на javascript
<script>
  let ws = new WebSocket(`ws://localhost:8080`);
  ws.onerror = () => console.log('WebSocket error');
  ws.onopen = () => console.log('WebSocket connection established');
  ws.onclose = () => console.log('WebSocket connection closed');
  ws.onmessage = (message) => console.log('onmessage: ', message, message.data)
  ws.onopen = () => {
    ws.send('message', 'message via emit')
  }
</script>


6 все

Или например для пыха, можно взять что-то типа Ratchet (http://socketo.me/)

<?php
    namespace App;
    use Ratchet\Server\IoServer;
    use Ratchet\Http\HttpServer;
    use Ratchet\WebSocket\WsServer;
    require_once './SocketController.php';
    require  __DIR__ . '/vendor/autoload.php';
    // configurations
    $server = IoServer::factory(
        new HttpServer(
            new WsServer(
                new SocketController()
            )
        ),
        8080 // the port of the web socket
    );
    $server->run();


Написать свой SocketController который будет обрабатывать теже message, error и т.д.
Ответить с цитированием
  #6 (permalink)  
Старый 08.11.2018, 00:26
Аспирант
Отправить личное сообщение для brp80000 Посмотреть профиль Найти все сообщения от brp80000
 
Регистрация: 27.10.2018
Сообщений: 40

Сообщение от SuperZen Посмотреть сообщение
Сервер на чем?
я использую вот эти исходники для организации сервера
https://github.com/igrr/esp32-http-server

толку от этой информации, вероятно, не много
Ответить с цитированием
  #7 (permalink)  
Старый 08.11.2018, 09:52
Аватар для MallSerg
Профессор
Отправить личное сообщение для MallSerg Посмотреть профиль Найти все сообщения от MallSerg
 
Регистрация: 07.03.2011
Сообщений: 869

У ТСа копеечный микроконтроллер с вайфай и вшитым в прошивку веб сервером. ТС ищет проблемы там где их нет HTTP хватит для его задачи с головой. Я даже придумать не могу случая когда транспортный протокол станет узким местом в такой задаче.

Последний раз редактировалось MallSerg, 08.11.2018 в 10:24.
Ответить с цитированием
  #8 (permalink)  
Старый 08.11.2018, 22:54
Аспирант
Отправить личное сообщение для brp80000 Посмотреть профиль Найти все сообщения от brp80000
 
Регистрация: 27.10.2018
Сообщений: 40

Ну и как действовать?
Ответить с цитированием
  #9 (permalink)  
Старый 09.11.2018, 07:14
Аспирант
Отправить личное сообщение для brp80000 Посмотреть профиль Найти все сообщения от brp80000
 
Регистрация: 27.10.2018
Сообщений: 40

Есть какой то пример скрипта стрелки или шкалы, которая будет обновляться при получении новых данных?
Ответить с цитированием
  #10 (permalink)  
Старый 09.11.2018, 10:58
Аватар для Malleys
Профессор
Отправить личное сообщение для Malleys Посмотреть профиль Найти все сообщения от Malleys
 
Регистрация: 20.12.2009
Сообщений: 382

codepen.io/search/pens?q=meter пример скрипта стрелки или шкалы
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Преобразование из текстовых данных в красивое отображение материала AlexGraur Общие вопросы Javascript 0 08.08.2015 16:13
Ajax передача большого количества данных diakon AJAX и COMET 3 29.05.2015 14:23
ajax передача данных с setInterval Segol Общие вопросы Javascript 0 07.07.2013 09:36
Двойная Фильтрация данных таблицы David0707 Общие вопросы Javascript 0 19.03.2012 12:00
передача данных между формами Yurii Общие вопросы Javascript 2 30.04.2008 20:52