4 / 4 / 2
Регистрация: 09.10.2010
Сообщений: 141

Windows socket server python + socket client js

18.02.2016, 12:44. Показов 2457. Ответов 3
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Здравствуйте пытаюсь решить такую задачу, на веб странице реализовал soket клиент на js, и socket server, сокет сервер получает данные от бесперебойника сокет клиент принимает эти данные и выводит на экран, но вот есть такая проблема, что после некоторого числа перезагрузки сокет клиент выдает сообщение “Error sending to a client”. Еще хотелось бы узнать есть ли более элегантный или автоматизированный способ запуска батника то есть не в ручную или вообще обойтись без батника, что бы при старте windows сокет работал. вот что в общем имею.
батник
Bash
1
c:\python27/python c:\python\websocket2.py
JavaScript
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
<script language="javascript" type="text/javascript">
    var edit=0;
        $( "#target" ).click(function() {
                if(edit==1){
                    $('li #target').text('Редактировать взвешиванием');
                    edit=0;
                }else{
                    $('li #target').text('Редактировать в ручную');
                    edit=1
                }
            });
    var wsUri = "ws://127.0.0.1:9999";
    var output;
    function init() {
        output = $("#id_choice_text");
        //$("#id_choice_text").val("Логин");
        testWebSocket();
    }
    function testWebSocket() {
        var websocket = new WebSocket(wsUri);
        websocket.onmessage = function (evt) {
            onMessage(evt)
        };
    }
    function onMessage(evt) {
        writeToScreen(
                evt.data.substring(1, 6)//'<li>Напряжение на входе:                       <span style="color: red;">' + evt.data.substring(1,6) + '</span></li>'
                //'<li>Аварийное напряжение:                         <span style="color: red;">' + evt.data.substring(7,12) + '</span></li>'+
                //'<li>Напряжение на выходе:                         <span style="color: red;">' + evt.data.substring(13,18) + '</span></li>'+
                //'<li>Награзка навыходе:                   <span style="color: red;">' + evt.data.substring(19,22) + '</span></li>'+
                //'<li>Частота напряжения на выходе: <span style="color: red;">' + evt.data.substring(23,27) + '</span></li>'+
                //'<li>Напряжение батареи:            <span style="color: red;">' + evt.data.substring(28,32) + '</span></li>'+
                //'<li>Температура UPS:                   <span style="color: red;">' + evt.data.substring(32,37) + '</span></li>'
        );
    }
    function writeToScreen(message) {
        var pre = document.createElement("p");
        $(pre).addClass('del');
        pre.style.wordWrap = "break-word";
        pre.innerHTML = message;
        $('.del').remove();
        if(edit==1){
        }
        output.val(message);
    }
    window.addEventListener("load", init, false)
</script>
Python
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
import serial
import sys
sys.path.append('../..')
import time
from SingleSocket.Output import Output
SOCKET_PORT = 9999
SOCKET_HOST = '127.0.0.1'
stream = Output(host=SOCKET_HOST,
                port=SOCKET_PORT,
                web=True)
def starts():
    
    port = stream.start()
    print('Emitting port: {:d}'.format(port))
    if not stream.running:
        exit(0)
    ser = serial.Serial('COM4', 2400, timeout=0)
    while ser:
        try:
            
            ser.write(b"Q1\r")
            ups1= ser.read(100)
            ser.timeout = 1
            #ser.open()
            print(ups1)
            stream.append_msg(ups1)
            #time.sleep(2)
        except socket.error, msg:
            stream.stop()
            ser.close()
            ser.open()
            starts()
starts()
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
18.02.2016, 12:44
Ответы с готовыми решениями:

TCP server socket + client modbus
Добрый день. Есть tcp сервер с использованием socket и _thread. К серверу подключается устройство через интернет по tcp порту....

Nodejs net socket server and android socket client
Добрый день Форумчане нужно помощь гуру! Решил с другом написать сервер на ноде с использование сокетов и андроид клиент отправки сокет. Но...

Socket Android Client and Java Socket Server
Доброго времени суток.Пытаюсь сделать простое клиент-серверное приложение. Клиент - приложение на Android устройстве. Сервер - Приложение...

3
 Аватар для Wolkodav
841 / 479 / 58
Регистрация: 18.09.2012
Сообщений: 1,688
19.02.2016, 20:38
serrggeee, может вы возьмёте какой-нибудь websocket сервер? Типо asynshttp.
0
4 / 4 / 2
Регистрация: 09.10.2010
Сообщений: 141
20.02.2016, 08:06  [ТС]
мне нужно реализовать на питоне
0
 Аватар для Wolkodav
841 / 479 / 58
Регистрация: 18.09.2012
Сообщений: 1,688
20.02.2016, 11:57
serrggeee, не вижу проблемы aiohttp
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
20.02.2016, 11:57
Помогаю со студенческими работами здесь

Socket Server и Socket Client
Здравствуйтe, мeня заинтeрeсовал вопрос, как можно сдeлать так, чтобы в одной программe сразу запускался и сeрвeр и клиeнт, смотрeл много...

Client и Server Socket
Доброго дня суток , подскажите как можно переслать , к примеру , с клиента на сервер 2 переменные , я знаю только как можно одну: void...

Socket, Client - Server
Создаю Клиент Серверное приложения, столкнулся с проблемой, если открыть клиент и сервер на одном компютере, то все работает, я указал в...

Server(Client)Socket
Всем привет. Собираюсь сделать передачу команд между сервером-клиентом через socket'ы, но возник один вопрос: будут ли проблемы с...

Socket Server, Client
Доброго времени суток. Решил разобраться с сокетами. Но почему-то сообщения не приходят... Клиент: messsage = &quot;Test&quot;; ...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Опции темы

Новые блоги и статьи
Реализация многопоточных сетевых серверов на Python
py-thonny 16.05.2025
Когда сталкиваешься с необходимостью писать высоконагруженные сетевые сервисы, выбор технологии имеет критическое значение. Python, со своей элегантностью и высоким уровнем абстракции, может. . .
C# и IoT: разработка Edge приложений с .NET и Azure IoT
UnmanagedCoder 16.05.2025
Мир меняется прямо на наших глазах, и интернет вещей (IoT) — один из главных катализаторов этих перемен. Если всего десять лет назад концепция "умных" устройств вызывала скептические улыбки, то. . .
Гибридные квантово-классические вычисления: Примеры оптимизации
EggHead 16.05.2025
Гибридные квантово-классические вычисления — это настоящий прорыв в подходах к решению сложнейших вычислительных задач. Представьте себе союз двух разных миров: классические компьютеры, с их. . .
Использование вебсокетов в приложениях Java с Netty
Javaican 16.05.2025
HTTP, краеугольный камень интернета, изначально был спроектирован для передачи гипертекста с минимальной интерактивностью. Его главный недостаток в контексте современных приложений — это. . .
Реализация операторов Kubernetes
Mr. Docker 16.05.2025
Концепция операторов Kubernetes зародилась в недрах компании CoreOS (позже купленной Red Hat), когда команда инженеров искала способ автоматизировать управление распределёнными базами данных в. . .
Отражение в C# и динамическое управление типами
stackOverflow 16.05.2025
Reflection API в . NET — это набор классов и интерфейсов в пространстве имён System. Reflection, который позволяет исследовать и манипулировать типами, методами, свойствами и другими элементами. . .
Настройка гиперпараметров с помощью Grid Search и Random Search в Python
AI_Generated 15.05.2025
В машинном обучении существует фундаментальное разделение между параметрами и гиперпараметрами моделей. Если параметры – это те величины, которые алгоритм "изучает" непосредственно из данных (веса. . .
Сериализация и десериализация данных на Python
py-thonny 15.05.2025
Сериализация — это своего рода "замораживание" объектов. Вы берёте живой, динамический объект из памяти и превращаете его в статичную строку или поток байтов. А десериализация выполняет обратный. . .
Чем асинхронная логика (схемотехника) лучше тактируемой, как я думаю, что помимо энергоэффективности - ещё и безопасность.
Hrethgir 14.05.2025
Помимо огромного плюса в энергоэффективности, асинхронная логика - тотальный контроль над каждым совершённым тактом, а значит - безусловная безопасность, где безконтрольно не совершится ни одного. . .
Многопоточные приложения на C++
bytestream 14.05.2025
C++ всегда был языком, тесно работающим с железом, и потому особеннно эффективным для многопоточного программирования. Стандарт C++11 произвёл революцию, добавив в язык нативную поддержку потоков,. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru