我需要模拟由N个节点组成的无线通信网络,具有以下属性:
在Go中,如果我使用一个信道来模拟传输媒体,数据将被序列化,并且只有一个接收方获得数据,而不是所有的数据。
另外,如果两个发送方同时发送数据,我想不出一种“破坏”数据的方法。无论我是否使用互斥对象,发送者之一都将成功地发送其消息。
发布于 2019-12-22 03:43:06
为什么不使用Golang通道创建一个发布服务器和订阅者模块?
创建一个集中式排队系统,您的所有发件人和接收节点都自己注册。如果任何节点发送到该模块并从发送方列表中发送数据,它将选择发件人通道并开始在其上写入。同样的情况也适用于接收者。
您必须为每个节点创建一个通道,并将其注册到一个中央发布/子模块。这肯定能解决你的问题。
https://stackoverflow.com/questions/59440713
复制相似问题