【问题标题】:How can I receive multicast UDP packets asynchronously in Golang?如何在 Golang 中异步接收多播 UDP 数据包?
【发布时间】:2017-11-07 11:40:15
【问题描述】:

我正在尝试创建一个应用程序来接收多播 UDP 数据包。此应用程序不仅侦听传入的数据包,还执行许多其他任务。所以,我想继续接收部分异步。 我用 Golang 编程。

任何帮助将不胜感激,编码愉快..

【问题讨论】:

    标签: networking go udp multicast udpclient


    【解决方案1】:

    好吧,我认为您可以将侦听器放入 for 声明中,并且每次从侦听器接收到包时,您都可以在 goroutine 中执行您想要的操作。

    一个例子可以是here 并查看服务器实现

    部分

    【讨论】:

    • 谢谢。将监听器带入 goroutine 怎么样?没事吧?
    • 嗯,这取决于。正如您之前提到的,您的程序还执行其他操作,您不希望应用程序仅等待数据包,对吗?如果是这样,是的,您可以放入一个 goroutine ;) 否则,我认为最好让在主线程中。
    • 在将监听器带入一个 goroutine 之后,生成(调用)另一个 goroutine 来处理监听器例程中接收到的字节是否是个好主意?
    • 我不明白为什么不这样做,但请注意可能存在的并发性。
    猜你喜欢
    • 2019-05-31
    • 2012-12-29
    • 2022-11-02
    • 1970-01-01
    • 2020-07-30
    • 1970-01-01
    • 1970-01-01
    • 2023-03-23
    相关资源
    最近更新 更多