代码拉取完成,页面将自动刷新
package main
import (
"fmt"
"net"
"os"
)
//UDP服务端 没有与客户端建立连接 并不知道客户端是否接收到
func main() {
//申明端口
service := ":5000"
//注册udp4端口地址
udpAddr, err := net.ResolveUDPAddr("udp4", service)
checkErr(err)
//设置监听接口
conn, err := net.ListenUDP("udp", udpAddr)
checkErr(err)
for {
handleClient(conn)
}
}
/**
* @Author: YaoWang
* @DateTime: 2017-04-20 14:15:05
* @Description: 检验错误
*/
func checkErr(err error) {
if err != nil {
fmt.Fprintf(os.Stderr, "Fatal error: %s", err.Error())
os.Exit(1)
}
}
/**
* @Author: YaoWang
* @DateTime: 2017-04-20 14:15:37
* @Description: 等待客户端连接
*/
func handleClient(conn *net.UDPConn) {
//延时关闭连接
defer conn.Close()
var buf [512]byte
for { //读取数据 n数据长度 rAddr数据来源地址 err错误
n, rAddr, err := conn.ReadFromUDP(buf[0:])
if err != nil {
return
}
fmt.Println("Receive from client", rAddr.String(), string(buf[0:n]))
//返回给客户端数据
_, err2 := conn.WriteToUDP([]byte("Welcome client!"), rAddr)
if err2 != nil {
return
}
}
}
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。