go语言实现udp客户端/服务端
/ server.go /
package main
10年积累的成都网站设计、网站建设经验,可以快速应对客户对网站的新想法和需求。提供各种问题对应的解决方案。让选择我们的客户得到更好、更有力的网络服务。我虽然不认识你,你也不认识我。但先做网站设计后付款的网站建设流程,更有岷县免费网站建设让你可以放心的选择与我们合作。
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语言实现udp客户端/服务端
当前网址:http://hbruida.cn/article/ipgiic.html