powered by simpleCommunicator - 2.0.41     © 2025 Programmizd 02
Форумы / HTML, JavaScript, VBScript, CSS [игнор отключен] [закрыт для гостей] / Послать UDP сообщение из JS.
25 сообщений из 123, страница 4 из 5
Послать UDP сообщение из JS.
    #40091573
voraa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
ShSerge
voraa,

Вы сами поняли, что написали?
Все абсолютно не так. Страницу компьютер получает с сервера. Дальше она же обращается к серверу, например, по таймеру. А сам сервер и датчики уже связываются себе по UDP.
Я сам эту задачу делал больше десяти лет назад. Проблем не было.

Страница не обязана приходить с сервера. Она может быть локально расположена на компе пользователя в локальной сети.
Ну вот есть сеть из одного компа и 50 датчиков. Все в одной сети, связаны поWiFi.
Если датчик может посылать свою страницу (настроен как сервер), с помощью которой можно менять его параметры, то почему нельзя иметь одну страницу, которая по ip посылает запрос на датчик, как будто он приходит от его страницы.
Я думаю это вполне возможно.
Вот только не понятно, в какой момент там udp возникает, и для чего.

С другой стороны, если не получится так (браузер будет блокировать fetch запросы от локальной страницы), то тогда только писать приложение (на сях, или том же Electron), которое бы совмещало возможности клиента и сервера.
...
Рейтинг: 0 / 0
Послать UDP сообщение из JS.
    #40091583
вадя
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
voraa,

безопасность прежде всего.
...
Рейтинг: 0 / 0
Послать UDP сообщение из JS.
    #40091658
ShSerge
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
вадя
voraa,

безопасность прежде всего.

Не только и не столько, хотя это тоже.
ПС. А udp потому что так датчики работают. Например, те же радары в порту, или аэропорту. Они шлют себе по мультикасту на какой-то виртуальный адрес время от времени данные. Читает кто-то или нет - пофигу.
...
Рейтинг: 0 / 0
Послать UDP сообщение из JS.
    #40091946
jenya7
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
вот. решение проблемы
Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
56.
57.
58.
59.
60.
61.
62.
63.
64.
65.
class HttpServer
    {
        public static HttpListener listener;
        public static string url = "http://localhost:8000/";
        public static int pageViews = 0;
        public static int requestCount = 0;
        public static string pageData =
            "<!DOCTYPE>" +
            "<html>" +
            "  <head>" +
            "    <title>HttpListener Example</title>" +
            "  </head>" +
            "  <body>" +
            "    <p>Page Views: {0}</p>" +
            "    <form method=\"post\" action=\"shutdown\">" +
            "      <input type=\"submit\" value=\"Shutdown\" {1}>" +
            "    </form>" +
            "  </body>" +
            "</html>";

        public static async Task HandleIncomingConnections()
        {
            bool runServer = true;

            // While a user hasn't visited the `shutdown` url, keep on handling requests
            while (runServer)
            {
                // Will wait here until we hear from a connection
                HttpListenerContext ctx = await listener.GetContextAsync();

                // Peel out the requests and response objects
                HttpListenerRequest req = ctx.Request;
                HttpListenerResponse resp = ctx.Response;

                // Print out some info about the request
                Console.WriteLine("Request #: {0}", ++requestCount);
                Console.WriteLine(req.Url.ToString());
                Console.WriteLine(req.HttpMethod);
                Console.WriteLine(req.UserHostName);
                Console.WriteLine(req.UserAgent);
                Console.WriteLine();

                // If `shutdown` url requested w/ POST, then shutdown the server after serving the page
                if ((req.HttpMethod == "POST") && (req.Url.AbsolutePath == "/shutdown"))
                {
                    Console.WriteLine("Shutdown requested");
                    runServer = false;
                }

                // Make sure we don't increment the page views counter if `favicon.ico` is requested
                if (req.Url.AbsolutePath != "/favicon.ico")
                    pageViews += 1;

                // Write the response info
                string disableSubmit = !runServer ? "disabled" : "";
                byte[] data = Encoding.UTF8.GetBytes(String.Format(pageData, pageViews, disableSubmit));
                resp.ContentType = "text/html";
                resp.ContentEncoding = Encoding.UTF8;
                resp.ContentLength64 = data.LongLength;

                // Write out to the response stream (asynchronously), then close it
                await resp.OutputStream.WriteAsync(data, 0, data.Length);
                resp.Close();
        }
 }


единственно надо найти как динамически подтасовывать hnml странички.
...
Рейтинг: 0 / 0
Послать UDP сообщение из JS.
    #40091956
ShSerge
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
jenya7,

Ну и где тут javascript?
Это - java. Да и то неправильно. Вам нужно использовать интерфейс runnable, или класс thread.
...
Рейтинг: 0 / 0
Послать UDP сообщение из JS.
    #40101690
Andi_WEB
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Приветствую.

Уже больше года как для Chrome развивается API для прямых TCP и UDP коммуникаций - Direct (RAW) Sockets.
Точнее, как развивается - прошел год, даже беты пока нет. Хотя сообщество вроде одобрило. В первый раз этот вопрос поднимался много лет назад, тогда идиоты победили - ой ой, нас всех заDOSят. Хотя в то время уже были тестовые API или плагины, которые такое позволяли. Но плагигины это тупик, сегодня он работает, завтра - нет совместимости с браузером.

До клоунов наконец ничинает доходить, что сейчас НЕТ И НЕ ПРЕДВИДИТСЯ других массовых средств для визуализации информации кроме браузера. Флеш и прочее мертвы. Всякие RTС и веб-сокеты - тяжко или костыли. Браузер логично сделать и инструментом для доступа к оборудованию, вот тут то и нужны TCP и UDP в локалке без костылей, включая входящие соединения. Пускай это будет нужно явно включать, пускай будут отключаемые предупреждения, да как угодно - но эта возможность должна стать частью браузерной функциональности.

Если бы еще сделали, что бы без костылей в свернутом браузере продолжал выполнятся без потери производительности JS - вообще круто было бы. Может переключаткль какой сделают... надеюсь, и до этого дойдут наконец.
...
Рейтинг: 0 / 0
Послать UDP сообщение из JS.
    #40101740
вадя
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Andi_WEB,

авторВсякие RTС и веб-сокеты - тяжко или костыну при таком подходе в it не место.
...
Рейтинг: 0 / 0
Послать UDP сообщение из JS.
    #40101822
Andi_WEB
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
вадя,
Можно конечно и ломом стальным подметатать, но зачем? Речь шла о взаимодействии с оборудованием (начиная от простейшего оборудования, выключатели с IP и прочее) а не о том, что можно использовать всякую хрень, которую изобрели для конференций (WebRTC) или из-за одолевшей на тот момент паранойи по безопасности (WebSocket). На какой тут WebSocket, если людям во многих сценариях не нужен сервер, а нужен просто TCP-клиент в браузере, который включит реле?

И, кстати, как там сейчас у велосипеда под названием WebSocket, тайм-аут также не менее 75 сек по прежнему? А что там еще "интересного" есть, у этой студенческой разработки?

Нужна нативная поддержка TCP и UDP на уровне браузера и точка. 2021 год на дворе. Браузер - единое окно, причем не только для глобальной сети, но и для автоматизации домашней и не только. Думаю, потупят-потупять, раступятся, и скоро появятся и PLC на JS в браузерах, для дома. Документ, интерфейс, логика в одном флаконе.
...
Рейтинг: 0 / 0
Послать UDP сообщение из JS.
    #40101829
вадя
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Andi_WEB,

а что значит не нужен сервер?
чтоб браузер мог напрямую к железу обращаться? что открыто все было всем и каждому?
чем не нравится ws? уэже 10лет работает без проблем везде. а сервер без проблем и на ардуинках, в том числе и с ws.
а usb , a nfc уже используентся.
...
Рейтинг: 0 / 0
Послать UDP сообщение из JS.
    #40101830
вадя
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Andi_WEB,

PS.
а релюшкой управлять как без железа? что прям к компу подлючать? как ни крути надо локальное железо, ключи. и коммутаторы. а это уже типа сервера

так чтоб ws для этих целей самое то. да и полный дуплекс вещь очень ценная.
...
Рейтинг: 0 / 0
Послать UDP сообщение из JS.
    #40101836
Andi_WEB
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
вадя,

> так чтоб ws для этих целей самое то. да и полный дуплекс вещь очень ценная.
Это костыль, придуманный в свое время, только и всего. Говоря про ненужность сервера, я, разумеется и очевидно, имел в виду сервер, поддерживающий "WEB-технологии". Понятно, что с канонической точки зрения, если, скажем, реле может управлять внешний TCP-клиент, то внутри реле тоже есть сервер, обычный TCP-сервер. Вот и все.

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

И еще, WS это лишняя прослойка со соей логикой таймаутов, соединений, keep-alive и прочей хренью. Вот представьте, что у Вас куча реального желеха из реального мира (матричные коммутаторы, проекторы, звуковые процессоры и прочее, они управляются именно так, там редкость WEB-API всякие). Часть управляется по UDP, часть по Telnet, часть еще выступает как TCP-сервер. Зачем тут WS?
...
Рейтинг: 0 / 0
Послать UDP сообщение из JS.
    #40101840
Andi_WEB
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
>Зачем тут WS?
Добавлю. Если сегодня именно браузеры "из коробки" в состоянии поддерживать сложнейшую логичекую обработку поступающих данных и их визуализацию и взаимодействие с пользователем.
...
Рейтинг: 0 / 0
Послать UDP сообщение из JS.
    #40101863
вадя
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Andi_WEB
Обращаться да, именно напрямую. Особенно если это LAN, особенно если это выделенный только для управления контур, пускай создатели системы управления сами решают насчет безопасности
ну дак создай отдельное приложение и управляй.
Andi_WEB
В конце концов, вариантов масса, вплоть до запуска для целей управления железом браузера отдельным ярлыком с ключами-параметрами.
а потом отмазывайся, что тебя взломали.

да и счас можно управлять не только с компа , а также с телефона - как прицепишь к нему железо?
можно через приложение - но это уже отдельная тема.
Andi_WEB
Вас куча реального желеха из реального мира (матричные коммутаторы, проекторы, звуковые процессоры и прочее, они управляются именно так, там редкость WEB-API всякие)
на всех не угодишь, тем более из браузера, где безопасность превыше всего.
Andi_WEB
Часть управляется по UDP, часть по Telnet, часть еще выступает как TCP-сервер. Зачем тут WS?
пиши своё приложение и управляй как нравится и как хочется.
...
Рейтинг: 0 / 0
Послать UDP сообщение из JS.
    #40101869
Andi_WEB
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
вадя,
> ну дак создай отдельное приложение и управляй

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


> на всех не угодишь, тем более из браузера, где безопасность превыше всего.
Увы, браузер, хочется кому-то или нет, будет отвоевывать все более широкие сферы применения. Костыли будут отпадать, а функционал - переезжать внутрь. К счастью, у него уже давно внутри полноценный язык программирования и куча всего прочего. При реализации многих первоочередных фич он даже и не потяжелеет особо.
...
Рейтинг: 0 / 0
Послать UDP сообщение из JS.
    #40101870
вадя
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Andi_WEB
>Зачем тут WS?
Добавлю. Если сегодня именно браузеры "из коробки" в состоянии поддерживать сложнейшую логичекую обработку поступающих данных и их визуализацию и взаимодействие с пользователем.
затем , что поддерживает полный дуплекс. не надо бомбить сервер постоянными запросами- есть данные - отобразились в браузере. хоть локально, хоть в инете, хоть на компе, хоть в смартфоне.
ты хочешь управлять из браузера по telnet?
Andi_WEB
часть еще выступает как TCP-сервер.
ты можешь сделать местный "главный" сервер и через него управлять "слэйвами". ну или просто транслировать через "главный"
если у тебя таких устройств в доме много - что будешь к каждому своё окно открывать? фрейм делать? - так ведь всё равно нужен "главный" сервер.
...
Рейтинг: 0 / 0
Послать UDP сообщение из JS.
    #40101875
вадя
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Andi_WEB
Увы, браузер, хочется кому-то или нет, будет отвоевывать все более широкие сферы применения. Костыли будут отпадать, а функционал - переезжать внутрь. К счастью, у него уже давно внутри полноценный язык программирования и куча всего прочего. При реализации многих первоочередных фич он даже и не потяжелеет особо.
да и ws делает это ещё лучше.
есть софт по расшариванию локальных сканеров по сети - там локальный сервер на си в виде exe. что на клиенте что на компе со сканером. работает без проблем. кто мешает (да уже есть примеры) сделать такой и по ws общаться с локальным железом, а заодно и "центральным" сервером?
...
Рейтинг: 0 / 0
Послать UDP сообщение из JS.
    #40101881
Andi_WEB
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
вадя,
> ты хочешь управлять из браузера по telnet?
Да почему бы и нет? Это сильно его нагрузит при 1-2 посылках в секунду (а часто и гораздо реже) ? Как правило, в подобных системах просто создается TCP-клиент и он держит связь с железкой, принимая от нее информацию о происходящих событиях, например, что включился микрофонный пульт номер 5.

Сервер в ряде случаев уместен, но не для систем, многие из которых по сути stateless (это не котельные и не производство, конечно) - подключился, включил оборудование, поуправлял (совещанием например), выключил. Зачем тут огромный велосипед в виде сервера?

Программируемых логических контроллеров со своими экосистемами и так хватает. Интересно, что часто подобные системы именно опять так сказать stateless, и контроллер служит прослойкой между интерфейсом пользователя и оборудованием. Глупая ситуация.
...
Рейтинг: 0 / 0
Послать UDP сообщение из JS.
    #40101884
вадя
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Andi_WEB
Зачем тут огромный велосипед в виде сервера?
зачем огромный? на малинке хватит за глаза.
https://evo.net.ua/25-proektov-na-raspberry-pi-4/
Andi_WEB
Да почему бы и нет? Это сильно его нагрузит при 1-2 посылках в секунду (а часто и гораздо реже) ? Как правило, в подобных системах просто создается TCP-клиент и он держит связь с железкой, принимая от нее информацию о происходящих событиях, например, что включился микрофонный пульт номер 5.
а кто отвечает за безопасность?
...
Рейтинг: 0 / 0
Послать UDP сообщение из JS.
    #40101892
Andi_WEB
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
>зачем огромный? на малинке хватит за глаза.

Имелось в виду, огромный с точки зрения сложности, явно не простой, реагирующий на множество поступающих событий и прочее. Зачем тащить наружу (в сервер) логику общения с железом, опрос его и анализ состояний, когда это играючи сделает браузер на любом современном компе офисного типа. Тем более, что предлагаемая Вами архитектура в общем-то и так уже есть и стала классической.

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


> а кто отвечает за безопасность?
Да какая там безопасность - если большинство сетей такого рода "вещь в себе" и не имеют связи с внешним миром.
...
Рейтинг: 0 / 0
Послать UDP сообщение из JS.
    #40101907
вадя
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Andi_WEB
Тем более, что предлагаемая Вами архитектура в общем-то и так уже есть и стала классической.
чтоб что-то открыть в браузере - надо туда загрузить, загружается с сервера, либо из локального файла html.
такой держать в смартфоне?
Andi_WEB
Я не говорю уже про легкость отладки, если логика в браузере. Во всяком случае, про минимальное время цикла "изменение в коде - тестирование": никакой компиляции, развертывания, виртуальных машин с софтом сервера и прочее. Если в данном конкретном случае достаточно браузера и его встроенного языка.
делается один раз - используется постоянно.
Andi_WEB
Да какая там безопасность - если большинство сетей такого рода "вещь в себе" и не имеют связи с внешним миром.
пока не приходит аппетит и хочется не только локально
...
Рейтинг: 0 / 0
Послать UDP сообщение из JS.
    #40102110
Фотография Изопропил
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Andi_WEB
Имелось в виду, огромный с точки зрения сложности, явно не простой, реагирующий на множество поступающих событий и прочее. Зачем тащить наружу (в сервер) логику общения с железом, опрос его и анализ состояний, когда это играючи сделает браузер на любом современном компе офисного типа. Тем более, что предлагаемая Вами архитектура в общем-то и так уже есть и стала классической.

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

подними сервер на nodejs и ни в чём себе не отказывай
...
Рейтинг: 0 / 0
Послать UDP сообщение из JS.
    #40102200
Andi_WEB
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Изопропил,
> подними сервер на nodejs и ни в чём себе не отказывай

Благодарю, я уже давно "поднял себе" Node-RED и прочее, а также не первый год работаю с разными ПЛК. А вот захотелось без сервера, представляете... Ну максимум, чтоб он мог страницу отдать. Без всяких "мозгов" на сервере. Хочется чего-то новенького.
...
Рейтинг: 0 / 0
Послать UDP сообщение из JS.
    #40102220
вадя
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Andi_WEB
А вот захотелось без сервера, представляете... Ну максимум, чтоб он мог страницу отдать. Без всяких "мозгов" на сервере. Хочется чего-то новенького.
допустим браузер может иметь доступ к железу. ты подключаешь к компу свои релюшки, ацп и прочий обвес. возможностей браузера хватит чтоб всем этим управлять, вычислять.
у тебя этот браузер долженвсе время быть запущен. комп с этим браузером всегда включен.
вопрос - чем этот комп будет отличаться от сервера?
даже если к этому компу всё железо будет подключено по http (умные релюшки )
...
Рейтинг: 0 / 0
Послать UDP сообщение из JS.
    #40102263
Andi_WEB
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
вадя,
>у тебя этот браузер долженвсе время быть запущен. комп с этим браузером всегда включен.
>вопрос - чем этот комп будет отличаться от сервера?

Читаете, но по диагонали похоже. Я же писал, что многие инсталляции - по сути stateless. Подключился, включил оборудование, поуправлял (совещанием например), выключил. Кроме того, многие железки обладают достаточным "мозгом", что бы самим справляться с работой в пределах своей компетенции. Нужет просто универсальный агрегатор информации от них - вот и все.
...
Рейтинг: 0 / 0
Послать UDP сообщение из JS.
    #40102290
вадя
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Andi_WEB
Кроме того, многие железки обладают достаточным "мозгом"
многие, но не все
и у всех свой интерфейс, своя логика - очень интересно будет юзеру - для каждой релюшки открывать своё окошко
другое дело одно окно и все видно.и все управляется. всё в одном стиле.

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

ну и безопасность это первое.
...
Рейтинг: 0 / 0
25 сообщений из 123, страница 4 из 5
Форумы / HTML, JavaScript, VBScript, CSS [игнор отключен] [закрыт для гостей] / Послать UDP сообщение из JS.
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]