小编r3d*_*ght的帖子

golang在多播ip上发送json

我正在写一个Go来发送多播udp上的json数据:

func send(a string, messages chan interface{}) {
    addr, err := net.ResolveUDPAddr("udp", a)
    CheckError(err)
    c, err := net.DialUDP("udp", nil, addr)
    CheckError(err)
    for {
        msg := <-messages
        myjson, err := json.Marshal(msg)
        if err != nil {
            fmt.Println("Error encoding JSON")
        return
        }
        //Write to bytes to multicast UDP
        c.Write([]byte(myjson))

        time.Sleep(2 * time.Second)
    }
}
Run Code Online (Sandbox Code Playgroud)

所以我的json被转换为一个byte数组,以使其工作.这是我的"接收器"功能:

func serveMulticastUDP(a string, messages chan interface{}) {

    addr, err := net.ResolveUDPAddr("udp", a)
    CheckError(err)
    l, err := net.ListenMulticastUDP("udp", nil, addr)
    l.SetReadBuffer(maxDatagramSize)
    for {
        b := make([]byte, maxDatagramSize)
        n, …
Run Code Online (Sandbox Code Playgroud)

arrays json multicast go gorilla

4
推荐指数
1
解决办法
745
查看次数

标签 统计

arrays ×1

go ×1

gorilla ×1

json ×1

multicast ×1