Хай, у меня есть проект в котором есть класс сервера и класс клиента. Хотелось бы реализовать следующее: При запуске проекта запускается первая консоль, в которой работает сервер(выводит кто подключился прочее), а в другой консоли собственно сам клиент. То есть, как создать проект, в котором запускается две консоли которые работают отдельно?
Вот пример. Все что вы введете в главном окне, отобразится во втором:
static void Main(string[] args)
{
const string pipeName = "MyAppPipe";
if (args.Length == 0)
{
Console.WriteLine("Main window");
var process = Process.GetCurrentProcess();
Process.Start(process.MainModule.FileName, "client");
var pipeServer = new NamedPipeServerStream(pipeName, PipeDirection.InOut, 4);
pipeServer.WaitForConnection();
var writer = new StreamWriter(pipeServer);
while (true)
{
writer.WriteLine(Console.ReadLine());
writer.Flush();
pipeServer.WaitForPipeDrain();
}
}
else
{
Console.WriteLine("Second window");
var pipeClient = new NamedPipeClientStream(".", pipeName, PipeDirection.InOut, PipeOptions.None);
if (pipeClient.IsConnected != true)
pipeClient.Connect();
var reader = new StreamReader(pipeClient);
while (pipeClient.IsConnected)
Console.WriteLine(reader.ReadLine());
}
}
Сборка персонального компьютера от Artline: умный выбор для современных пользователей