其他分享
首页 > 其他分享> > 命名管道时发送数据的正确方法是什么?

命名管道时发送数据的正确方法是什么?

作者:互联网

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

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循环读取了流,并正确地进行了处理.我只是担心发送方(在这种情况下是服务器).

解决方法:

如果您检查并验证发送,则可能没问题.拆分大量发送(千兆字节)可能很有意义,因此重新发送不会那么糟糕.一百万个字节将在几毫秒内传输;尝试计时.很快.

标签:named-pipes,c
来源: https://codeday.me/bug/20191123/2064126.html