请各位看官提提意见 UDP Server的例子
package main
import (
"fmt"
"net"
"os"
"time"
)
func handleClient(conn *net.UDPConn) {
var buf [512]byte
n, addr, err := conn.ReadFromUDP(buf[0:])
if err != nil {
return
}
fmt.Println(string(buf[0:]))
daytime := time.Now().String()
fmt.Println(n, addr)
conn.WriteToUDP([]byte(daytime), addr)
}
func checkError(err error) {
if err != nil {
fmt.Fprintf(os.Stderr, "Fatal error:%s", err.Error())
os.Exit(1)
}
}
func main() {
service := ":1200"
udpAddr, err := net.ResolveUDPAddr("up4", service)
checkError(err)
conn, err := net.ListenUDP("udp", udpAddr)
checkError(err)
for {
handleClient(conn)
}
}
多谢David指点,我也是近期采用Go做项目,边学边做,很多不明地方请多指正啊。
顺带请教一下Go下面灵活输出Log的方法,如设定格式,以及输出到不同Log文件
#5
更多评论
for{
conn,err := net.ListenUDP("udp",udpAddr)
if err==nil{
go handleClient(conn)
}
}
#2