• 企业400电话
  • 微网小程序
  • AI电话机器人
  • 电商代运营
  • 全 部 栏 目

    企业400电话 网络优化推广 AI电话机器人 呼叫中心 网站建设 商标✡知产 微网小程序 电商运营 彩铃•短信 增值拓展业务
    golang实现简单的udp协议服务端与客户端示例

    本文实例讲述了golang实现简单的udp协议服务端与客户端。分享给大家供大家参考,具体如下:

    其实udp没有什么服务端和客户端的概念了,只是一个发一个收而已,只是这样较方便能识别和理解.

    服务端:

    复制代码 代码如下:
    package main
    import (
        "fmt"
        "net"
    )
    func main() {
        // 创建监听
        socket, err := net.ListenUDP("udp4", net.UDPAddr{
            IP:   net.IPv4(0, 0, 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("%s\n\n", 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),
            Port: 8080,
        })
        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, remoteAddr, err := socket.ReadFromUDP(data)
        if err != nil {
            fmt.Println("读取数据失败!", err)
            return
        }
        fmt.Println(read, remoteAddr)
        fmt.Printf("%s\n", data)
    }

    希望本文所述对大家Go语言程序设计有所帮助。

    您可能感兴趣的文章:
    • Golang实现的聊天程序服务端和客户端代码分享
    • 详解golang consul-grpc 服务注册与发现
    • 详解如何热重启golang服务器
    • golang搭建静态web服务器的实现方法
    • golang websocket 服务端的实现
    • 详解prometheus监控golang服务实践记录
    上一篇:golang的HTTP基本认证机制实例详解
    下一篇:golang简单获取上传文件大小的实现代码
  • 相关文章
  • 

    © 2016-2020 巨人网络通讯 版权所有

    《增值电信业务经营许可证》 苏ICP备15040257号-8

    golang实现简单的udp协议服务端与客户端示例 golang,实现,简单,的,udp,协议,