服务端
package main
import (
"fmt"
"net"
"time"
)
func main() {
udpAddr, err := net.ResolveUDPAddr("udp", ":8888")
if err != nil {
fmt.Println("Err resolve UDP address: ", err)
return
}
serverConn, err := net.ListenUDP("udp", udpAddr)
if err != nil {
fmt.Println("ListenUDP error: ", err)
return
}
var ticker = time.Tick(time.Second * 2)
for {
for _ = range ticker {
var buff [512]byte
n, rAddr, err := serverConn.ReadFromUDP(buff[0:])
if err != nil {
fmt.Println("Read error: ", err)
break
}
fmt.Println("Read from client: ", string(buff[:n]))
serverConn.WriteToUDP([]byte("Hello client"), rAddr)
}
}
}
客户端
package main
import (
"fmt"
"net"
)
func main(){
udpAddr, err := net.ResolveUDPAddr("udp",":8888")
if err != nil{
fmt.Println("Err resolve UDP address: ", err)
return
}
conn, err := net.DialUDP("udp", nil, udpAddr)
if err != nil{
fmt.Println("Dial UDP error: ", err)
return
}
for {
conn.Write([]byte("Hello server"))
var buff [512]byte
n, err := conn.Read(buff[0:])
if err != nil{
fmt.Println("ERR: ", err)
break
}
fmt.Println("Read from server: ", string(buff[:n]))
}
}
转载请注明原文地址:https://blackberry.8miu.com/read-44101.html