Форум программистов «Весельчак У»
  *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

  • Рекомендуем проверить настройки временной зоны в вашем профиле (страница "Внешний вид форума", пункт "Часовой пояс:").
  • У нас больше нет рассылок. Если вам приходят письма от наших бывших рассылок mail.ru и subscribe.ru, то знайте, что это не мы рассылаем.
   Начало  
Наши сайты
Помощь Поиск Календарь Почта Войти Регистрация  
 
Страниц: [1]   Вниз
  Печать  
Автор Тема: виртуальный ком порт  (Прочитано 3495 раз)
0 Пользователей и 1 Гость смотрят эту тему.
Serguntii
Помогающий

ru
Offline Offline

« : 07-03-2014 09:47 » 

Возникла идейка как сделать и возможно ли это сделать?, нужно что бы программа создавала  виртуальные ком порты в который могут писать или читать другие программы.
Записан
Dimka
Деятель
Команда клуба

ru
Offline Offline
Пол: Мужской

« Ответ #1 : 07-03-2014 09:52 » 

sergeyan, а зачем? Когда этот вопрос решается по сети, в том числе через named pipes в Windows или UNIX-сокеты.
Записан

Программировать - значит понимать (К. Нюгард)
Невывернутое лучше, чем вправленное (М. Аврелий)
Многие готовы скорее умереть, чем подумать (Б. Рассел)
Serguntii
Помогающий

ru
Offline Offline

« Ответ #2 : 07-03-2014 10:02 » 

Если можно немного поподробнее, хотелось что бы обмен был не сложный, ком порт открыл читаешь и пишешь а в этом случае придется наверно кучу кода писать?
Для Начинающих это сложно.(
« Последнее редактирование: 07-03-2014 10:26 от sergeyan » Записан
Sla
Команда клуба

ua
Offline Offline
Пол: Мужской

WWW
« Ответ #3 : 07-03-2014 11:18 » 

sergeyan, а зачем?
Имитация работы устройств.
Записан

Мы все учились понемногу... Чему-нибудь и как-нибудь.
darkelf
Опытный

ua
Offline Offline

« Ответ #4 : 07-03-2014 12:24 » 

Возникла идейка как сделать и возможно ли это сделать?, нужно что бы программа создавала  виртуальные ком порты в который могут писать или читать другие программы.
Поищите в сети, вроде были такие программы для Windows. Не знаю, правда, насколько они платны. В Unix системах есть такое устройство как псевдотерминал - там это есть из коробки.
Записан
Serguntii
Помогающий

ru
Offline Offline

« Ответ #5 : 07-03-2014 13:25 » 

Хорошо бы исходник посмотреть сейчас даже алгоритм не совсем понимаю как это сделать. Реализовать хотелось на Visual studio 2013C#
Записан
darkelf
Опытный

ua
Offline Offline

« Ответ #6 : 07-03-2014 13:39 » 

если я всё правильно понял, то http://com0com.sourceforge.net/ - но, там как-бы не всё на прикладном уровне - есть драйвер ядра системы.
Учитесь пользоваться google.
Записан
Serguntii
Помогающий

ru
Offline Offline

« Ответ #7 : 07-03-2014 14:45 » 

Можно еще такой вопрос, вы программисты профи здесь, если бы вам поставили задачу организовать обмен вашей программы с сторонней, которая получает данные от всяких железяк температура давление и прочее + задавать показания, какой бы вы хотели что бы был интерфейс у той программы которая опрашивает железки и дает вам ?
Записан
Dimka
Деятель
Команда клуба

ru
Offline Offline
Пол: Мужской

« Ответ #8 : 07-03-2014 16:39 » 

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

Программировать - значит понимать (К. Нюгард)
Невывернутое лучше, чем вправленное (М. Аврелий)
Многие готовы скорее умереть, чем подумать (Б. Рассел)
Serguntii
Помогающий

ru
Offline Offline

« Ответ #9 : 07-03-2014 17:06 » 

множество интерфейсов это какие просто названия. Например скорость 1кб\с программа работает на этом же что и ваша программа.
Записан
Dimka
Деятель
Команда клуба

ru
Offline Offline
Пол: Мужской

« Ответ #10 : 07-03-2014 17:46 » 

В таких случаях я в Windows использую named pipes.
Записан

Программировать - значит понимать (К. Нюгард)
Невывернутое лучше, чем вправленное (М. Аврелий)
Многие готовы скорее умереть, чем подумать (Б. Рассел)
Serguntii
Помогающий

ru
Offline Offline

« Ответ #11 : 10-03-2014 09:32 » 

Подумал такое взаимодействие как вы посоветовали и быстрее и лучше будет. Может я вообще не на правильном пути. Задачка у меня написать tcp server  к которому присоединяются куча клиентов, это сделал вот по этому примеру   http://www.java2s.com/Code/CSharp/Thread/ThreadPoolTcpServer.htm теперь нужно сделать что бы другие программа могли обмениваться данными с каждым клиентом подключенному к этому серверу.
Почему про ком порт и подумал,вроде проще  клиент присоединился к серверу появился ком порт, другая программа открыла его и обменивается только с этим клиентом.
Но теперь понял что это добавит много всяких ограничений и добавится драйвер...
Как бы вы реализовали эту задачу,любые советы,спасибо?
« Последнее редактирование: 10-03-2014 09:38 от sergeyan » Записан
Dimka
Деятель
Команда клуба

ru
Offline Offline
Пол: Мужской

« Ответ #12 : 10-03-2014 11:08 » 

Ничего не понял. Какие программы с какими клиентами? Такое ощущение, что там что-то нагорожено уже до неработоспособного состояния.
Записан

Программировать - значит понимать (К. Нюгард)
Невывернутое лучше, чем вправленное (М. Аврелий)
Многие готовы скорее умереть, чем подумать (Б. Рассел)
Serguntii
Помогающий

ru
Offline Offline

« Ответ #13 : 10-03-2014 11:41 » 

Сеть из компов, в этой сети один комп tcp server остальные клиенты.  
На том компьютере на котором работает сервер нужно будет сделать еще одну программку.
Эта программа  должна будет обмениваться пакетами по 256байт с клиентами через сервер.
Но и сервер тоже надо сделать.
Его вначале хотел сделать так: Пакеты не большие по 256байт была задумка сделать такой алгоритм:  при подключении  к этому серверу (по tcp) клиента появляется ком порт.
А другая программа  открывает этот ком порт читает и пишет в него, через сервер.
Ком порт привязан к конкретному клиенту.  
Может есть примеры как такое сделать, или любые советы, очень интересная вещь получится )) ?
Вся проблема сейчас в том что нужен класс C# который будет добавлять ком порт в систему.  и имитировать работу железа, как будто это настоящий ком порт.
« Последнее редактирование: 10-03-2014 12:06 от sergeyan » Записан
Dimka
Деятель
Команда клуба

ru
Offline Offline
Пол: Мужской

« Ответ #14 : 10-03-2014 13:52 » 

sergeyan, я не понял, зачем программа отдельно, клиент отдельно. Зачем клиент, когда программа сама по себе и есть клиент, работающий с сервером?
Записан

Программировать - значит понимать (К. Нюгард)
Невывернутое лучше, чем вправленное (М. Аврелий)
Многие готовы скорее умереть, чем подумать (Б. Рассел)
Serguntii
Помогающий

ru
Offline Offline

« Ответ #15 : 10-03-2014 15:27 » 

Уже есть некоторые программы которые работают с последовательным портом,.
Много возни все переделывать.
Записан
Страниц: [1]   Вверх
  Печать  
 

Powered by SMF 1.1.21 | SMF © 2015, Simple Machines