/**
golang udp
*/
package main
import (
"fmt"
"net"
"strings"
"time"
)
var p = fmt.Println
func server() {
udpAddr, _ := net.ResolveUDPAddr("udp4", "0.0.0.0:7070")
conn, e := net.ListenUDP("udp4", udpAddr)
defer conn.Close()
if e != nil {
return
}
for {
b := make([]byte, 4096)
_, remoteAddr, e := conn.ReadFromUDP(b)
if e != nil {
continue
}
req := strings.TrimSpace(string(b))
p("來之客戶端的數據:您輸入了>>"+req, remoteAddr)
}
}
func main() {
//server
go server()
//client
tcpAddr, _ := net.ResolveUDPAddr("udp4", "127.0.0.1:7070")
conn, e := net.DialUDP("udp4", nil, tcpAddr)
defer func() {
conn.Close()
}()
if e != nil {
return
}
p("-----客戶端:請輸入.....")
for {
var input string
fmt.Scanln(&input)
conn.Write([]byte(input))
if input == "exit" || input == "quit" {
break
}
}
time.Sleep(4 * time.Second)
}
golang udp
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.