Используя этот учебник, я придумал код ниже. Мой клиент работает часто. Он активируется с помощью кликов и, возможно, может быть запущен дважды в тот же момент в определенных обстоятельствах. Я беспокоюсь о том, что один клиент может закрыться, пока другой клиент откроется, что заставляет трубу закрываться в течение этого небольшого количества миллисекунд. Каков наилучший способ открыть трубку?
static public void ThreadStartServer()
{
while (true)
{
using (NamedPipeServerStream pipeStream = new NamedPipeServerStream("mytestpipe"))
{
Console.WriteLine("[Server] Pipe created {0}", pipeStream.GetHashCode());
pipeStream.WaitForConnection();
Console.WriteLine("[Server] Pipe connection established");
using (StreamReader sr = new StreamReader(pipeStream))
{
string temp;
while ((temp = sr.ReadLine()) != null)
{
Console.WriteLine("{0}: {1}", DateTime.Now, temp);
}
}
}
}