我想通过命名管道将大数据发送到另一个进程。换句话说,我有类似的东西:
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循环读取流,我认为正确。我只是担心发送方(在这种情况下是服务器)。
答案 0 :(得分:3)
如果您检查并验证发送,则可能没问题。打破一个巨大的发送(千兆字节)可能是有意义的,所以重新发送不会那么糟糕。一百万字节将在几毫秒内传输;尝试计时。它会非常快。