在Go中写入客户端UDP套接字

在Go中写入客户端UDP套接字,第1张

在Go中写入客户端UDP套接字

检查以下示例以通过UDP进行客户端/服务器通信。sendResponse例程用于将响应发送回客户端。

udpclient.go

package mainimport (    "fmt"    "net"    "bufio")func main() {    p :=  make([]byte, 2048)    conn, err := net.Dial("udp", "127.0.0.1:1234")    if err != nil {        fmt.Printf("Some error %v", err)        return    }    fmt.Fprintf(conn, "Hi UDP Server, How are you doing?")    _, err = bufio.NewReader(conn).Read(p)    if err == nil {        fmt.Printf("%sn", p)    } else {        fmt.Printf("Some error %vn", err)    }    conn.Close()}

udpserver.go

package mainimport (    "fmt"     "net"  )func sendResponse(conn *net.UDPConn, addr *net.UDPAddr) {    _,err := conn.WriteToUDP([]byte("From server: Hello I got your mesage "), addr)    if err != nil {        fmt.Printf("Couldn't send response %v", err)    }}func main() {    p := make([]byte, 2048)    addr := net.UDPAddr{        Port: 1234,        IP: net.ParseIP("127.0.0.1"),    }    ser, err := net.ListenUDP("udp", &addr)    if err != nil {        fmt.Printf("Some error %vn", err)        return    }    for {        _,remoteaddr,err := ser.ReadFromUDP(p)        fmt.Printf("Read a message from %v %s n", remoteaddr, p)        if err !=  nil { fmt.Printf("Some error  %v", err) continue        }        go sendResponse(ser, remoteaddr)    }}


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/zaji/5163392.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-11-18
下一篇2022-11-18

发表评论

登录后才能评论

评论列表(0条)

    保存