加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 大数据 > 正文

golang udp服务端客户端例子

发布时间:2020-12-16 18:44:23 所属栏目:大数据 来源:网络整理
导读:golang udp服务端客户端例子 服务端: package mainimport ( "fmt" "net")func main() { // 创建监听 socket,err := net.ListenUDP("udp4",net.UDPAddr{ IP: net.IPv4(0,0),Port: 8080,}) if err != nil { fmt.Println("监听失败!",err) return } defer socke

golang udp服务端客户端例子

服务端:

package main

import (
    "fmt"
    "net"
)

func main() {
    // 创建监听
    socket,err := net.ListenUDP("udp4",&net.UDPAddr{
        IP:   net.IPv4(0,0),Port: 8080,})
    if err != nil {
        fmt.Println("监听失败!",err)
        return
    }
    defer socket.Close()

    for {
        // 读取数据
        data := make([]byte,4096)
        read,remoteAddr,err := socket.ReadFromUDP(data)
        if err != nil {
            fmt.Println("读取数据失败!",err)
            continue
        }
        fmt.Println(read,remoteAddr)
        fmt.Printf("%snn",data)

        // 发送数据
        senddata := []byte("hello client!")
        _,err = socket.WriteToUDP(senddata,remoteAddr)
        if err != nil {
            return
            fmt.Println("发送数据失败!",err)
        }
    }
}

客户端:

package main

import (
    "fmt"
    "net"
)

func main() {
    // 创建连接
    socket,err := net.DialUDP("udp4",nil,&net.UDPAddr{
        IP:   net.IPv4(192,168,1,103),})
    if err != nil {
        fmt.Println("连接失败!",err)
        return
    }
    defer socket.Close()

    // 发送数据
    senddata := []byte("hello server!")
    _,err = socket.Write(senddata)
    if err != nil {
        fmt.Println("发送数据失败!",err)
        return
    }

    // 接收数据
    data := make([]byte,4096)
    read,err := socket.ReadFromUDP(data)
    if err != nil {
        fmt.Println("读取数据失败!",err)
        return
    }
    fmt.Println(read,remoteAddr)
    fmt.Printf("%sn",data)
}

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读