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 »   | 
								
								 | 
							  
							 
							Уже есть некоторые программы которые работают с последовательным портом,. Много возни все переделывать.  
						 | 
					 
					
						
							
								| 
								 | 
							 
								| 
								 | 
								
									 
									Записан
								 | 
							  
						 | 
					 
				 
			 |  
		 
	 | 
	 |