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

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 循环读取流,我认为它正确执行。我只是担心发送方(在这种情况下是服务器)。

最佳答案

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

关于c# - 使用命名管道时发送数据的正确方法是什么?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/17843314/

10-12 12:44
查看更多