欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

使用go发送UDP广播消息

程序员文章站 2022-06-29 18:23:53
...

Go发送UDP广播消息


UDP 是User Datagram Protocol的简称, 中文名是用户数据报协议,是OSI(Open System Interconnection,开放式系统互联) 参考模型中一种无连接的传输层协议,提供面向事务的简单不可靠信息传送服务,IETF RFC 768 是UDP的正式规范。UDP在IP报文的协议号是17。

package main

import (
	"fmt"
	"net"
	"net/http"
	"time"
)

func main() {
	go broadcast1()
	http.ListenAndServe(":9090", nil)

}

func broadcast1()  {

	// 这里设置发送者的IP地址,自己查看一下自己的IP自行设定
	laddr := net.UDPAddr{
		//IP:   net.IPv4(192, 168, 123, 140),
		//Port: 3000,
	}

	// 这里设置接收者的IP地址为广播地址
	raddr := net.UDPAddr{
		IP:   net.IPv4(255, 255, 255, 255),
		//Port: 3000,
	}
	conn, err := net.DialUDP("udp", &laddr, &raddr)
	if err != nil {
		println(err.Error())
		return
	}

	for {
		_, err := conn.Write([]byte("hello world"))
		if err != nil{
			fmt.Println(err)
		}
		time.Sleep(time.Second)
	}
}