1. 程式人生 > >C++從零開始區塊鏈:P2P模組之節點廣播

C++從零開始區塊鏈:P2P模組之節點廣播

之前忘了說了,現在補上
主要有以下幾個方案

udp協議廣播

該方案的優點是協議自身支援,實現簡單,高效。但其缺點也是致命的,就是隻能在同一區域網內才能進行廣播,限制太大。

udp協議組播

和廣播的方案差不多,雖然udp協議支援在外網上的組播,但很依賴於網路裝置是否支援。很遺憾,現實中絕大部分的網路裝置是不支援的,同樣只能在同一區域網內有效。

節點輪詢

該方案的優點是不受網路環境限制,不需要網路裝置的支援。缺點是效率太低,網路中節點很少還可以接受,如果節點太多,光是每個節點都輪詢一遍都需要好久。

節點分組輪詢

這是目測最可行的一個方案,同時也是實現起來最麻煩的一個方案。先將所有節點分組,要保證每個節點至少存在與兩個組內。節點對自己所在的組內進行輪詢廣播,組內其他節點接收到訊息後,再在自己的另一個組內進行廣播,達到一傳十,十傳百的效果。

本例中應用

在本例中,僅將訊息發給了一個節點進行廣播模擬,並未進行實際上的廣播,等以後有時間了嘗試使用節點分組輪詢的方式進行廣播。