首页
学习
活动
专区
圈层
工具
发布

伪造IO流
EN

Stack Overflow用户
提问于 2014-08-12 07:02:46
回答 1查看 136关注 0票数 2

作为我的学生小组业余项目的一部分,我正在创建一个由微控制器组成的有线网络的模拟,以测试我们编写的算法。每个控制器连接到多个数据端口,每个端口都有一个输入和输出流。我通过给每个端口一个BinaryReaderBinaryWriter来建模这种关系,每个端口都有自己的MemoryStream支持。然而,当我试图“连接”不同控制器之间的端口时,我遇到了一个障碍。模拟延迟超出了这个模拟迭代的范围,所以我只需要以某种方式直接链接它们。

因此,我的问题是:如何使用两个不同的BinaryReader/BinaryWriterMemoryStream集来伪造这样的IO流,这样,当我向其中一个写入时,另一个可以立即读取它?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-08-19 19:11:55

最后,我使用了通过环回地址相互连接的UDP套接字,它很好地模拟了网络的异步性质,而没有处理延迟问题。

我不允许发布实际的代码,但是实现相当简单。每个数据端口都有来自System.Net.Sockets命名空间的自己的System.Net.Sockets和一个随机分配的UDP端口。update循环遍历每个端口并酌情调用udpClient.Send()udpClient.Receive()函数,使用简单的byte[]缓冲区来处理不完整的消息。我认为.Net高级网络的概述超出了这个问题的范围,但在MSDN上有一些不错的资源,只要谷歌搜索即可。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/25258105

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档