服务端代码:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading;
using System.IO;
using System.IO.Pipes;
namespace Servier
{
class Program
{
static void Main(string[] args)
{
NamedPipeServerStream serverPipe = new NamedPipeServerStream("server",
PipeDirection.InOut,5);
wite:serverPipe.WaitForConnection();
Console.WriteLine("连接上了");
byte[] msgbutes=new byte[256];
int readCount = 0;
while ((readCount = serverPipe.Read(msgbutes, 0, 256)) > 0)
{
string msg = Encoding.UTF8.GetString(msgbutes, 0, readCount);
if (msg == "exit")
break;
Console.WriteLine(msg);
}
Console.WriteLine("退出了,等下一个连接......");
//serverPipe.Close();
serverPipe.Disconnect();
goto wite;
}
}
}
客户端代码:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.IO;
using System.IO.Pipes;
namespace client
{
class Program
{
static void Main(string[] args)
{
NamedPipeClientStream clientPipe = new NamedPipeClientStream(".",
"server", PipeDirection.InOut);
clientPipe.Connect();
string msg = "";
while ((msg=Console.ReadLine()) != "")
{
byte[] buffer = Encoding.UTF8.GetBytes(msg);
clientPipe.Write(buffer, 0, buffer.Length);
}
clientPipe.Close();
}
}
}