激情久久久_欧美视频区_成人av免费_不卡视频一二三区_欧美精品在欧美一区二区少妇_欧美一区二区三区的

腳本之家,腳本語言編程技術及教程分享平臺!
分類導航

Python|VBS|Ruby|Lua|perl|VBA|Golang|PowerShell|Erlang|autoit|Dos|bat|

服務器之家 - 腳本之家 - Golang - golang實現簡單的udp協議服務端與客戶端示例

golang實現簡單的udp協議服務端與客戶端示例

2020-04-29 11:13dotcoo Golang

這篇文章主要介紹了golang實現簡單的udp協議服務端與客戶端,結合實例形式分析了基于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語言程序設計有所幫助。

延伸 · 閱讀

精彩推薦
  • Golanggolang 通過ssh代理連接mysql的操作

    golang 通過ssh代理連接mysql的操作

    這篇文章主要介紹了golang 通過ssh代理連接mysql的操作,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧...

    a165861639710342021-03-08
  • Golanggolang的httpserver優雅重啟方法詳解

    golang的httpserver優雅重啟方法詳解

    這篇文章主要給大家介紹了關于golang的httpserver優雅重啟的相關資料,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,...

    helight2992020-05-14
  • Golanggo語言制作端口掃描器

    go語言制作端口掃描器

    本文給大家分享的是使用go語言編寫的TCP端口掃描器,可以選擇IP范圍,掃描的端口,以及多線程,有需要的小伙伴可以參考下。 ...

    腳本之家3642020-04-25
  • GolangGolang通脈之數據類型詳情

    Golang通脈之數據類型詳情

    這篇文章主要介紹了Golang通脈之數據類型,在編程語言中標識符就是定義的具有某種意義的詞,比如變量名、常量名、函數名等等,Go語言中標識符允許由...

    4272021-11-24
  • Golanggolang如何使用struct的tag屬性的詳細介紹

    golang如何使用struct的tag屬性的詳細介紹

    這篇文章主要介紹了golang如何使用struct的tag屬性的詳細介紹,從例子說起,小編覺得挺不錯的,現在分享給大家,也給大家做個參考。一起跟隨小編過來看...

    Go語言中文網11352020-05-21
  • Golanggo日志系統logrus顯示文件和行號的操作

    go日志系統logrus顯示文件和行號的操作

    這篇文章主要介紹了go日志系統logrus顯示文件和行號的操作,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧...

    SmallQinYan12302021-02-02
  • GolangGolang中Bit數組的實現方式

    Golang中Bit數組的實現方式

    這篇文章主要介紹了Golang中Bit數組的實現方式,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧...

    天易獨尊11682021-06-09
  • Golanggolang json.Marshal 特殊html字符被轉義的解決方法

    golang json.Marshal 特殊html字符被轉義的解決方法

    今天小編就為大家分享一篇golang json.Marshal 特殊html字符被轉義的解決方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧 ...

    李浩的life12792020-05-27
主站蜘蛛池模板: 中文字幕欧美在线 | 国产免费一级 | 黄色av网站在线观看 | 免费特黄 | 国产色片 | 亚洲一级成人 | 欧美性生交xxxxx久久久缅北 | 国产资源在线观看 | a黄色网| 欧美人与牲禽动交精品一区 | 国产男女 爽爽爽爽视频 | 国产91小视频在线观看 | 久久精品视频一区二区三区 | 黄污网址 | 天堂成人国产精品一区 | 成人免费av在线 | 日本在线国产 | 一区二区三区欧美在线观看 | 久草干| 久久精精 | 欧美视频在线一区二区三区 | 午夜免费网 | 九草在线视频 | 中文字幕在线视频日本 | 国产日韩在线观看一区 | 免费久久精品 | 欧洲黄视频 | 色欲香天天天综合网站 | 一区二区三区四区视频在线观看 | av黄色在线免费观看 | 无码专区aaaaaa免费视频 | 免费a级黄色毛片 | 成人免费一区二区 | 成人在线免费视频观看 | 精品国产一区二区三区免费 | 久久精品国产亚洲一区二区 | 日本一区二区免费在线观看 | 久久久久久久久久久国产精品 | 激情大乳女做爰办公室韩国 | 操碰| 成人在线免费视频播放 |