消息发送方 server.go
package main
import (
"bufio"
"log"
"net"
"os"
)
func main() {
laddr := net.UDPAddr{
IP: net.IPv4(0, 0, 0, 0),//写局域网下分配IP,0.0.0.0可以用来测试
Port: 8080,
}
raddr := net.UDPAddr{
IP: net.IPv4(192, 168, 1, 255), //局域网广播地址
Port: 8080,
}
conn, err := net.DialUDP("udp", &laddr, &raddr)
if err != nil {
log.Panicln(err.Error())
}
defer conn.Close()
scan := bufio.NewScanner(os.Stdin)
for scan.Scan() {
mess := scan.Text()
if mess == "quit" {
return
}
_, err := conn.Write([]byte(mess))
if err != nil {
log.Panicln(err.Error())
}
}
}
消息接收方:client.go
package main
import (
"log"
"net"
)
func main() {
net.InterfaceAddrs()
laddr := net.UDPAddr{
IP: net.IPv4(0, 0, 0, 0), //写局域网下分配IP,0.0.0.0可以用来测试
Port: 8080,
}
conn, err := net.ListenUDP("udp", &laddr)
if err != nil {
log.Panicln(err.Error())
}
defer conn.Close()
buf := make([]byte, 1024)
for {
n, err := conn.Read(buf)
if err != nil {
log.Panicln(err.Error())
}
log.Println(string(buf[:n]))
}
}