发送端
package main
import (
"fmt"
"net"
"time"
)
func main() {
var (
conn net.Conn
err error
)
if conn, err = net.Dial("udp", "192.168.197.255:8080"); err != nil {
panic(err)
}
defer func() {
if err := conn.Close(); err != nil {
fmt.Println(err.Error())
}
}()
for {
if _, err = conn.Write([]byte("hello guys")); err != nil {
fmt.Printf("err: %s", err.Error())
}
time.Sleep(time.Second * 3)
}
}
接收端
package main
import (
"bufio"
"fmt"
"net"
)
func main() {
var (
conn *net.UDPConn
err error
reader *bufio.Reader
)
if conn, err = net.ListenUDP("udp", &net.UDPAddr{
IP: net.IPv4(0, 0, 0, 0),
Port: 8080,
}); err != nil {
panic(err)
}
defer func() {
if err := conn.Close(); err != nil {
panic(err)
}
}()
for {
reader = bufio.NewReader(conn)
data := make([]byte, 1024)
_, err := reader.Read(data)
if err != nil {
fmt.Printf("err: %s", err.Error())
continue
}
fmt.Printf("result: %s\n", string(data))
}
}
如果在windows下遇到各种诡异的问题,请果断放弃windows