3

我想通过命名管道将大数据发送到另一个进程。换句话说,我有类似的东西:

var dataToSend = new byte[1024*1024]; // some large data
NamedPipeServerStream server = new NamedPipeServerStream("MyPipeName");
server.WaitForConnection();
server.Write(dataToSend,0,dataToSend.Length); // is it ok to send 1048576 bytes at once !??

我必须分成dataToSend更小的块吗?使用这种方法可以正常工作,我只是担心它将来可能会中断。我应该修复它吗?

编辑

在客户端,我认为我用 while 循环正确地读取了流。我只是担心发送方(在这种情况下是服务器)。

4

1 回答 1

3

如果您检查并验证发送,您可能没问题。分解一个巨大的发送(千兆字节)可能是有意义的,这样重新发送就不会那么糟糕。一百万字节将在几毫秒内传输;尝试计时。它会非常快。

于 2013-07-24T19:47:17.127 回答