最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

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

 更新時間:2016年07月22日 10:42:35   作者:dotcoo  
這篇文章主要介紹了golang實現(xiàn)簡單的udp協(xié)議服務(wù)端與客戶端,結(jié)合實例形式分析了基于UDP協(xié)議的數(shù)據(jù)傳輸相關(guān)實現(xiàn)技巧,需要的朋友可以參考下

本文實例講述了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è)計有所幫助。

相關(guān)文章

  • Go語言中定時任務(wù)庫Cron使用方法介紹

    Go語言中定時任務(wù)庫Cron使用方法介紹

    cron的意思計劃任務(wù),說白了就是定時任務(wù)。我和系統(tǒng)約個時間,你在幾點幾分幾秒或者每隔幾分鐘跑一個任務(wù)(job),今天通過本文給大家介紹下Go語言中定時任務(wù)庫Cron使用方法,感興趣的朋友一起看看吧
    2022-03-03
  • Golang繪制數(shù)列趨勢圖的操作步驟

    Golang繪制數(shù)列趨勢圖的操作步驟

    數(shù)列趨勢圖是用來表示數(shù)列中各項之間的變化趨勢的圖形,它可以幫助我們觀察和分析數(shù)列的規(guī)律和特點,一般來說,數(shù)列趨勢圖可以分為兩種類型:折線圖和散點圖,本文給大家介紹了Golang繪制數(shù)列趨勢圖的操作步驟,文中有詳細的代碼示例,需要的朋友可以參考下
    2024-04-04
  • golang實現(xiàn)的文件上傳下載小工具

    golang實現(xiàn)的文件上傳下載小工具

    這篇文章主要介紹了golang實現(xiàn)的文件上傳下載小工具,幫助大家更好的理解和使用python,感興趣的朋友可以了解下
    2020-12-12
  • 獲取Golang環(huán)境變量的三種方式小結(jié)

    獲取Golang環(huán)境變量的三種方式小結(jié)

    本文介紹了Golang中獲取環(huán)境變量的三種方式,包含使用Viper包、GoDotEnv包和os包,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2024-11-11
  • goFrame的gqueue與channe的區(qū)別

    goFrame的gqueue與channe的區(qū)別

    這篇文章主要介紹了goFrame的gqueue與channe的區(qū)別,channel的作用是用于go協(xié)程間的通信,goroutine和channel是支持高并發(fā)的重要組成部分,更多兩者詳細介紹需要的小伙伴可以參考下面文章內(nèi)容
    2022-06-06
  • 深入了解Go語言中的作用域和變量重聲明

    深入了解Go語言中的作用域和變量重聲明

    在?Go?語言中,代碼塊的嵌套和作用域是程序設(shè)計的關(guān)鍵概念之一,本文將探討如何在?Go?語言中利用代碼塊的嵌套和作用域來組織代碼,并介紹變量重聲明的規(guī)則,感興趣的可以了解下
    2023-11-11
  • Go項目中的GOPROXY設(shè)置

    Go項目中的GOPROXY設(shè)置

    GOPROXY是Go語言中用于指定模塊代理服務(wù)器的環(huán)境變量,設(shè)置GOPROXY可以通過操作系統(tǒng)環(huán)境變量、Go命令行參數(shù)或Go環(huán)境配置文件進行,感興趣的可以了解一下
    2024-09-09
  • Go-Web框架中AOP方案的實現(xiàn)方式

    Go-Web框架中AOP方案的實現(xiàn)方式

    本文主要介紹了Go-Web框架中AOP方案的實現(xiàn)方式,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2023-06-06
  • Golang實現(xiàn)支持多種類型的set

    Golang實現(xiàn)支持多種類型的set

    在項目開發(fā)中,常常會用到set去重,為什么不寫一個set呢,而且go現(xiàn)在支持了泛型,所以本文就來用Golang實現(xiàn)一個支持多種類型的set呢
    2023-05-05
  • Go語言實現(xiàn)UDP協(xié)議及TCP通訊

    Go語言實現(xiàn)UDP協(xié)議及TCP通訊

    這篇文章介紹了Go語言實現(xiàn)UDP協(xié)議及TCP通訊的方法,文中通過示例代碼介紹的非常詳細。對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2022-07-07

最新評論

渑池县| 扶沟县| 大城县| 麻江县| 社会| 浠水县| 纳雍县| 建始县| 大同市| 绥滨县| 唐山市| 鹰潭市| 灵武市| 东乌| 潞城市| 科技| 遵义市| 息烽县| 昌都县| 布拖县| 象山县| 枣阳市| 通城县| 灌云县| 东辽县| 肇东市| 论坛| 西乌珠穆沁旗| 罗平县| 巧家县| 分宜县| 抚宁县| 乌恰县| 阳江市| 肥西县| 上虞市| 广南县| 南汇区| 桂林市| 皮山县| 阜新|