主頁 > 知識庫 > golang實現(xiàn)簡單的udp協(xié)議服務(wù)端與客戶端示例

golang實現(xiàn)簡單的udp協(xié)議服務(wù)端與客戶端示例

熱門標(biāo)簽:百度地圖標(biāo)注搜索關(guān)鍵詞 浙江人工智能外呼管理系統(tǒng) 騰訊外呼系統(tǒng)價格 成都呼叫中心外呼系統(tǒng)平臺 電銷機(jī)器人可以補救房產(chǎn)中介嗎 電梯外呼訪客系統(tǒng) 最短的地圖標(biāo)注 ?兓? 谷歌便利店地圖標(biāo)注

本文實例講述了golang實現(xiàn)簡單的udp協(xié)議服務(wù)端與客戶端。分享給大家供大家參考,具體如下:

其實udp沒有什么服務(wù)端和客戶端的概念了,只是一個發(fā)一個收而已,只是這樣較方便能識別和理解.

服務(wù)端:

復(fù)制代碼 代碼如下:
package main
import (
    "fmt"
    "net"
)
func main() {
    // 創(chuàng)建監(jiān)聽
    socket, err := net.ListenUDP("udp4", net.UDPAddr{
        IP:   net.IPv4(0, 0, 0, 0),
        Port: 8080,
    })
    if err != nil {
        fmt.Println("監(jiān)聽失敗!", err)
        return
    }
    defer socket.Close()
    for {
        // 讀取數(shù)據(jù)
        data := make([]byte, 4096)
        read, remoteAddr, err := socket.ReadFromUDP(data)
        if err != nil {
            fmt.Println("讀取數(shù)據(jù)失敗!", err)
            continue
        }
        fmt.Println(read, remoteAddr)
        fmt.Printf("%s\n\n", data)
        // 發(fā)送數(shù)據(jù)
        senddata := []byte("hello client!")
        _, err = socket.WriteToUDP(senddata, remoteAddr)
        if err != nil {
            return
            fmt.Println("發(fā)送數(shù)據(jù)失敗!", err)
        }
    }
}

客戶端:

復(fù)制代碼 代碼如下:
package main
import (
    "fmt"
    "net"
)
func main() {
    // 創(chuàng)建連接
    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()
    // 發(fā)送數(shù)據(jù)
    senddata := []byte("hello server!")
    _, err = socket.Write(senddata)
    if err != nil {
        fmt.Println("發(fā)送數(shù)據(jù)失敗!", err)
        return
    }
    // 接收數(shù)據(jù)
    data := make([]byte, 4096)
    read, remoteAddr, err := socket.ReadFromUDP(data)
    if err != nil {
        fmt.Println("讀取數(shù)據(jù)失敗!", err)
        return
    }
    fmt.Println(read, remoteAddr)
    fmt.Printf("%s\n", data)
}

希望本文所述對大家Go語言程序設(shè)計有所幫助。

您可能感興趣的文章:
  • Golang實現(xiàn)的聊天程序服務(wù)端和客戶端代碼分享
  • 詳解golang consul-grpc 服務(wù)注冊與發(fā)現(xiàn)
  • 詳解如何熱重啟golang服務(wù)器
  • golang搭建靜態(tài)web服務(wù)器的實現(xiàn)方法
  • golang websocket 服務(wù)端的實現(xiàn)
  • 詳解prometheus監(jiān)控golang服務(wù)實踐記錄

標(biāo)簽:雅安 上海 盤錦 邢臺 眉山 紹興 宜昌 七臺河

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《golang實現(xiàn)簡單的udp協(xié)議服務(wù)端與客戶端示例》,本文關(guān)鍵詞  golang,實現(xiàn),簡單,的,udp,協(xié)議,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請?zhí)峁┫嚓P(guān)信息告之我們,我們將及時溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《golang實現(xiàn)簡單的udp協(xié)議服務(wù)端與客戶端示例》相關(guān)的同類信息!
  • 本頁收集關(guān)于golang實現(xiàn)簡單的udp協(xié)議服務(wù)端與客戶端示例的相關(guān)信息資訊供網(wǎng)民參考!
  • 企业400电话

    智能AI客服机器人
    15000

    在线订购

    合计11份范本:公司章程+合伙协议+出资协议+合作协议+股权转让协议+增资扩股协议+股权激励+股东会决议+董事会决议

    推薦文章