最近项目用到Go语言,一点点学习,记录一下用法。
udp套接字使用例子:
// udp_go_demo.go
package main
import (
"fmt"
"net"
"os"
)
func CheckErr(err error, str string) {
if err != nil {
fmt.Println(str)
os.Exit(1)
}
}
func main() {
//源地址
LocalAddr, err := net.ResolveUDPAddr("udp", "172.25.1.227:8080")
CheckErr(err, "resolve udp addr fail")
//目的地址
RemoteAddr, err := net.ResolveUDPAddr("udp", "172.25.1.192:8081")
CheckErr(err, "resolve udp addr fail")
//建立UDP连接
conn, err := net.DialUDP("udp", LocalAddr, RemoteAddr)
defer conn.Close()
if err != nil {
fmt.Println("create udp connection fail")
return
}
msg := "Go UDP Socket demo"
//调用Write发送数据
_, err = conn.Write([]byte(msg))
if err != nil {
fmt.Println("Go send udp data fail")
} else {
fmt.Println("Go send udp data success")
}
return
}
抓包截图:
和C语言比起来,Go的开发之旅还是蛮有趣的