我想通过命名管道将大量数据发送到另一个进程。换句话说,我有类似的东西:
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
分成更小的 block ?使用这种方法效果很好,我只是担心它将来可能会崩溃。我应该修复它吗?
编辑
在客户端,我使用 while 循环读取流,我认为这样做是正确的。我只是担心发送方(在本例中是服务器)。
最佳答案
如果您检查并验证发送,您可能没问题。分解一个巨大的发送(千兆字节)可能是有意义的,这样重新发送就不会那么糟糕了。一百万字节将在几毫秒内传输;尝试计时。会很快。
关于c# - 使用命名管道时发送数据的正确方法是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17843314/