首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >利用信道或互斥模拟无线电通信

利用信道或互斥模拟无线电通信
EN

Stack Overflow用户
提问于 2019-12-21 23:57:00
回答 1查看 51关注 0票数 1

我需要模拟由N个节点组成的无线通信网络,具有以下属性:

  1. 节点要么发送然后接收数据,要么接收然后发送数据,但不是同时发送数据。通过空中发送的
  2. 数据由当时处于接收模式的所有节点接收。
  3. 如果两个或多个节点同时发送数据,则丢失数据。
  4. 没有节点间的时间同步。

在Go中,如果我使用一个信道来模拟传输媒体,数据将被序列化,并且只有一个接收方获得数据,而不是所有的数据。

另外,如果两个发送方同时发送数据,我想不出一种“破坏”数据的方法。无论我是否使用互斥对象,发送者之一都将成功地发送其消息。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-12-22 03:43:06

为什么不使用Golang通道创建一个发布服务器和订阅者模块?

创建一个集中式排队系统,您的所有发件人和接收节点都自己注册。如果任何节点发送到该模块并从发送方列表中发送数据,它将选择发件人通道并开始在其上写入。同样的情况也适用于接收者。

您必须为每个节点创建一个通道,并将其注册到一个中央发布/子模块。这肯定能解决你的问题。

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

https://stackoverflow.com/questions/59440713

复制
相关文章

相似问题

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