我可以在nanomsg的pub / sub协议中进行纯组播。 因为可能有N个订户对单个发布者的特定数据感兴趣,所以相同的订阅数据流入N个不同的流中。如果我的单个流的带宽是10MB,那么N个流所需的总带宽是10 * N,因此带宽有所增加。我们可以像在多播中一样减少带宽吗?有人可以帮我解决这个问题吗?
答案 0 :(得分:0)
据我了解PUB / SUB模式,数据将逐个发送给所有订阅者。如果订户尚未准备好接收它,则丢弃数据。我相信PUB / SUB中的数据是按顺序发送的。
但是,如果使用PUSH / PULL模式,则可以更好地控制数据的发送方式。 你可以有N个PULLers和一个PUSHer。 PUSHer将数据逐个发送给所有PULLers。不同之处在于您可以控制时间,您可以等待较慢的PULL。
如果您不喜欢多次传输,我能想到的唯一其他机制是共享内存。一个发件人和多个人。该场景仅适用于单台计算机。
所以,答案是否定的。你不能在nanomsg pub / sub协议中进行纯粹的多播。如果您需要纯多播,则必须查看其他协议。 也许传入的nng可以通过UDP提供它。
如果必须进行多播,则必须查看其他协议 NACK-Oriented Reliable Multicast (NORM)