В ниже приведенном коде, осуществляется передача данных от одного COM-порта к другому, для этого нужно запустить два экземпляра программы, и выбрать в каждом разные ком-порты, например COM1 и COM2, знающие люди, прошу у вас помощи, я не могу понять как и где программа отправляет данные с одного ком-порта к другому
using System;
using System.Collections.Generic;
using System.Text;
using System.IO.Ports;
namespace SerialTest
{
class Program
{
static void Main(string[] args)
{
string[] names = SerialPort.GetPortNames();
Console.WriteLine("Serial ports:");
foreach (string name in names)
Console.WriteLine(name);
Console.Write("Choose one:");
SerialPort p = new SerialPort(Console.ReadLine());
p.DataReceived += new SerialDataReceivedEventHandler(p_DataReceived);
p.Open();
string line;
do
{
line = Console.ReadLine();
p.Write(line);
} while (line != "quit");
p.Close();
}
static void p_DataReceived(object sender, SerialDataReceivedEventArgs e)
{
Console.WriteLine(
(sender as SerialPort).ReadExisting());
}
}
}
что я здесь понимаю: то что p.DataReceived += new SerialDataReceivedEventHandler(p_DataReceived); - добавляет обработчик события на получение данных с ком-порта, если они есть, то незамедлительно срабатывает вот это
static void p_DataReceived(object sender, SerialDataReceivedEventArgs e)
{
Console.WriteLine(
(sender as SerialPort).ReadExisting());
}
то есть, считываем то что есть в COM-порте, который мы ранее указали,
а здесь, открываем порт, передаем информацию в line, записываем информацию(line) в порт
p.Open();
string line;
do
{
line = Console.ReadLine();
p.Write(line);
} while (line != "quit");
p.Close();
каким образом информация отправленная на один порт в одном экземпляре программы, ловится другим портом в другом экземпляре программы?