欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

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

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

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

其實(shí)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è)計(jì)有所幫助。

相關(guān)文章

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

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

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

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

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

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

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

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

    本文介紹了Golang中獲取環(huán)境變量的三種方式,包含使用Viper包、GoDotEnv包和os包,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(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ā)的重要組成部分,更多兩者詳細(xì)介紹需要的小伙伴可以參考下面文章內(nèi)容
    2022-06-06
  • 深入了解Go語言中的作用域和變量重聲明

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

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

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

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

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

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

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

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

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

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

最新評論