/
Server.go/
Package Main
Import (
"FMT"
"NET"
"OS"
)
Func checkerror (err error) {
If err! = Nil {
Fmt. Println ("Error:%s", err.) Error ())
Os. Exit (1)
}
}
Func recvudpmsg (Conn *net. Udpconn) {
var buf [20]byte
n, raddr, err := conn.ReadFromUDP(buf[0:]) if err != nil { return } fmt.Println("msg is ", string(buf[0:n])) //WriteToUDP //func (c *UDPConn) WriteToUDP(b []byte, addr *UDPAddr) (int, error) _, err = conn.WriteToUDP([]byte("nice to see u"), raddr) checkError(err)
}
Func Main () {
UDP_ADDR, err: = Net. RESOLVEUDPADDR ("UDP", ": 9098")
CheckError (ERR)
conn, err := net.ListenUDP("udp", udp_addr) defer conn.Close() checkError(err) //go recvUDPMsg(conn) for { recvUDPMsg(conn) }
}
/ Client.go /
Package Main
Import (
"FMT"
"NET"
"OS"
"IO"
)
Func Main () {
Conn, Err: = Net. Dial ("UDP", "127.0.0.1:9098")
Defer Conn. Close ()
If err! = Nil {
Os. Exit (1)
}
conn.Write([]byte("Hello world!")) fmt.Println("send msg") var msg [20]byte conn.Read(msg[0:]) fmt.Println("msg is", string(msg[0:10]))
}
Go language Implementation UDP client/server