Windows命名管道无法通过网络工作?
|
我在C#中的Windows上遇到命名管道的奇怪问题。
客户:
NamedPipeClientStream pipeStream = new NamedPipeClientStream(\"default-PC\",\"mypipe\");
pipeStream.Connect();
BinaryWriter sw = new BinaryWriter(pipeStream);
sw.Write((byte[]) data);
服务器:
NamedPipeServerStream pipeStream = new NamedPipeServerStream(\"mypipe\");
byte[] dataAll = null;
pipeStream.WaitForConnection();
dataAll = new BinaryReader(pipeStream).ReadBytes(1024 * 1000 * 512);
-
如果我在NamedPipeClientStream的构造函数中使用\“。\\”作为服务器名称,则一切正常,即服务器填充了dataAll对象。
现在,奇怪的是,如果我将计算机的网络名称(\“ default-PC \”)放入NamedPipeClientStream中,如上面的代码所示,则服务器上没有任何数据作为服务器中的ReadBytes读取代码返回一个空数组。
这可以理解,我在两台不同的计算机上运行服务器和客户端,但是它们都在同一台计算机上运行。唯一的区别是NamedPipeClientStream中的\“服务器名称\”参数是\“。\”还是实际的网络名称(甚至是本地主机)。
有任何想法吗?
没有找到相关结果
已邀请:
2 个回复
到街客核
屑凉赦