您好,登錄后才能下訂單哦!
/ 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]))
}
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。