Потоковая передача RS-232 в браузер - PullRequest
1 голос
/ 19 августа 2011

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

Спасибо

Редакция: Вот что мне нужно. У меня есть тонкий клиент с балансом, где RS-232 используется для взаимодействия с тонким клиентом. В настоящее время это компактное приложение. То, что я хотел бы знать, есть ли возможность иметь такую ​​же настройку в веб-приложении. Таким образом, это означает, что RS-232 НЕ является сервером RS-232 - это компьютер пользователя RS-232 - RS-232 находится на клиенте. Поэтому, когда RS-232 выплевывает данные, он должен перейти в браузер. Возможно ли это в веб-приложении?

Ответы [ 2 ]

0 голосов
/ 19 августа 2011

Я могу придумать два способа:

  • Буферизировать последовательные данные в объекте приложения, а затем использовать вызов ajax, запускаемый таймером, для захвата и отображения последних данных.1005 *

    Для более коротких потоков данных вы можете вместо использования элементов управления asp.net сделать что-то вроде:

    Response.ContentType = "text/plain";
    Response.Clear();
    
    String serialData;
    
    while(serialData = getSerialData() {
       Response.Write(serialData);
       Response.Flush();
    }
    

    Это позволит записывать текстовое содержимое в веб-браузер в режиме реального времени.Возможно, вы не захотите держать этот сеанс открытым слишком долго.

    Если вы хотите отобразить поток данных на другой странице, просто поместите страницу с указанным выше кодом в iFrame.

    Также обратите внимание, что вышеупомянутое лучше всего сделать в обработчике ashx, а не на странице aspx.

0 голосов
/ 19 августа 2011

Конечно, вы можете сделать это.Вы прочитали бы из System.IO.Ports.SerialPort экземпляр и вывели его через HttpListener .

. Трюк будет знать, что вы хотите сделатьсо страницей, которую обслуживает HttpListener.Поскольку данные будут поступать на COM-порт в режиме реального времени, вы, вероятно, захотите буферизовать их между HTTP-запросами к вашему серверу, поскольку в противном случае, если вы попытаетесь прочитать порт без ожидания данных, вы повесите прослушиватель.Вы также можете пропустить данные, если вы не читаете их регулярно, и они заполняют буфер чтения SerialPort.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...