Serguntii
Помогающий
Offline
|
|
« : 07-03-2014 09:47 » |
|
Возникла идейка как сделать и возможно ли это сделать?, нужно что бы программа создавала виртуальные ком порты в который могут писать или читать другие программы.
|
|
|
Записан
|
|
|
|
Dimka
Деятель
Команда клуба
Offline
Пол:
|
|
« Ответ #1 : 07-03-2014 09:52 » |
|
sergeyan, а зачем? Когда этот вопрос решается по сети, в том числе через named pipes в Windows или UNIX-сокеты.
|
|
|
Записан
|
Программировать - значит понимать (К. Нюгард) Невывернутое лучше, чем вправленное (М. Аврелий) Многие готовы скорее умереть, чем подумать (Б. Рассел)
|
|
|
Serguntii
Помогающий
Offline
|
|
« Ответ #2 : 07-03-2014 10:02 » |
|
Если можно немного поподробнее, хотелось что бы обмен был не сложный, ком порт открыл читаешь и пишешь а в этом случае придется наверно кучу кода писать? Для Начинающих это сложно.(
|
|
« Последнее редактирование: 07-03-2014 10:26 от sergeyan »
|
Записан
|
|
|
|
Sla
|
|
« Ответ #3 : 07-03-2014 11:18 » |
|
sergeyan, а зачем?
Имитация работы устройств.
|
|
|
Записан
|
Мы все учились понемногу... Чему-нибудь и как-нибудь.
|
|
|
darkelf
Молодой специалист
Offline
|
|
« Ответ #4 : 07-03-2014 12:24 » |
|
Возникла идейка как сделать и возможно ли это сделать?, нужно что бы программа создавала виртуальные ком порты в который могут писать или читать другие программы.
Поищите в сети, вроде были такие программы для Windows. Не знаю, правда, насколько они платны. В Unix системах есть такое устройство как псевдотерминал - там это есть из коробки.
|
|
|
Записан
|
|
|
|
Serguntii
Помогающий
Offline
|
|
« Ответ #5 : 07-03-2014 13:25 » |
|
Хорошо бы исходник посмотреть сейчас даже алгоритм не совсем понимаю как это сделать. Реализовать хотелось на Visual studio 2013C#
|
|
|
Записан
|
|
|
|
darkelf
Молодой специалист
Offline
|
|
« Ответ #6 : 07-03-2014 13:39 » |
|
если я всё правильно понял, то http://com0com.sourceforge.net/ - но, там как-бы не всё на прикладном уровне - есть драйвер ядра системы. Учитесь пользоваться google.
|
|
|
Записан
|
|
|
|
Serguntii
Помогающий
Offline
|
|
« Ответ #7 : 07-03-2014 14:45 » |
|
Можно еще такой вопрос, вы программисты профи здесь, если бы вам поставили задачу организовать обмен вашей программы с сторонней, которая получает данные от всяких железяк температура давление и прочее + задавать показания, какой бы вы хотели что бы был интерфейс у той программы которая опрашивает железки и дает вам ?
|
|
|
Записан
|
|
|
|
Dimka
Деятель
Команда клуба
Offline
Пол:
|
|
« Ответ #8 : 07-03-2014 16:39 » |
|
sergeyan, нет однозначного ответа. Зависит от скорости обмена данных и от распределения программ по вычислительным узлам, от робастности всей системы. Из этого вытекает множество возможных интерфейсов, из которых выбирается наиболее простой.
|
|
|
Записан
|
Программировать - значит понимать (К. Нюгард) Невывернутое лучше, чем вправленное (М. Аврелий) Многие готовы скорее умереть, чем подумать (Б. Рассел)
|
|
|
Serguntii
Помогающий
Offline
|
|
« Ответ #9 : 07-03-2014 17:06 » |
|
множество интерфейсов это какие просто названия. Например скорость 1кб\с программа работает на этом же что и ваша программа.
|
|
|
Записан
|
|
|
|
Dimka
Деятель
Команда клуба
Offline
Пол:
|
|
« Ответ #10 : 07-03-2014 17:46 » |
|
В таких случаях я в Windows использую named pipes.
|
|
|
Записан
|
Программировать - значит понимать (К. Нюгард) Невывернутое лучше, чем вправленное (М. Аврелий) Многие готовы скорее умереть, чем подумать (Б. Рассел)
|
|
|
Serguntii
Помогающий
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
Деятель
Команда клуба
Offline
Пол:
|
|
« Ответ #12 : 10-03-2014 11:08 » |
|
Ничего не понял. Какие программы с какими клиентами? Такое ощущение, что там что-то нагорожено уже до неработоспособного состояния.
|
|
|
Записан
|
Программировать - значит понимать (К. Нюгард) Невывернутое лучше, чем вправленное (М. Аврелий) Многие готовы скорее умереть, чем подумать (Б. Рассел)
|
|
|
Serguntii
Помогающий
Offline
|
|
« Ответ #13 : 10-03-2014 11:41 » |
|
Сеть из компов, в этой сети один комп tcp server остальные клиенты. На том компьютере на котором работает сервер нужно будет сделать еще одну программку. Эта программа должна будет обмениваться пакетами по 256байт с клиентами через сервер. Но и сервер тоже надо сделать. Его вначале хотел сделать так: Пакеты не большие по 256байт была задумка сделать такой алгоритм: при подключении к этому серверу (по tcp) клиента появляется ком порт. А другая программа открывает этот ком порт читает и пишет в него, через сервер. Ком порт привязан к конкретному клиенту. Может есть примеры как такое сделать, или любые советы, очень интересная вещь получится )) ? Вся проблема сейчас в том что нужен класс C# который будет добавлять ком порт в систему. и имитировать работу железа, как будто это настоящий ком порт.
|
|
« Последнее редактирование: 10-03-2014 12:06 от sergeyan »
|
Записан
|
|
|
|
Dimka
Деятель
Команда клуба
Offline
Пол:
|
|
« Ответ #14 : 10-03-2014 13:52 » |
|
sergeyan, я не понял, зачем программа отдельно, клиент отдельно. Зачем клиент, когда программа сама по себе и есть клиент, работающий с сервером?
|
|
|
Записан
|
Программировать - значит понимать (К. Нюгард) Невывернутое лучше, чем вправленное (М. Аврелий) Многие готовы скорее умереть, чем подумать (Б. Рассел)
|
|
|
Serguntii
Помогающий
Offline
|
|
« Ответ #15 : 10-03-2014 15:27 » |
|
Уже есть некоторые программы которые работают с последовательным портом,. Много возни все переделывать.
|
|
|
Записан
|
|
|
|
|