日韩无码专区无码一级三级片|91人人爱网站中日韩无码电影|厨房大战丰满熟妇|AV高清无码在线免费观看|另类AV日韩少妇熟女|中文日本大黄一级黄色片|色情在线视频免费|亚洲成人特黄a片|黄片wwwav色图欧美|欧亚乱色一区二区三区

RELATEED CONSULTING
相關(guān)咨詢
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時間:8:30-17:00
你可能遇到了下面的問題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營銷解決方案
創(chuàng)新互聯(lián)GoFrame教程:GoFrame UDP組件-基本介紹

??UDP ?(User Datagram Protocol)?一種無連接的傳輸層協(xié)議,提供面向事務(wù)的簡單不可靠信息傳送服務(wù)。?UDP?服務(wù)端通過?gudp.Server?實現(xiàn),客戶端通過?gudp.Conn?對象或者工具方法實現(xiàn)。

使用方式:

import "github.com/GOgf/gf/v2/net/gudp"

接口文檔: https://pkg.go.dev/github.com/gogf/gf/v2/net/gudp

type Server
    func GetServer(name ...interface{}) *Server
    func NewServer(address string, handler func(*Conn), names ...string) *Server
    func (s *Server) Close() error
    func (s *Server) Run() error
    func (s *Server) SetAddress(address string)
    func (s *Server) SetHandler(handler func(*Conn))

其中?GetServer?使用單例模式通過給定一個唯一的名稱獲取/創(chuàng)建一個?Server?,后續(xù)可通過?SetAddress?和?SetHandler?方法動態(tài)修改?Server?屬性;?NewServer?則直接根據(jù)給定參數(shù)創(chuàng)建一個?Server?對象。

來一個簡單的示例:

package main

import (
    "fmt"
    "github.com/gogf/gf/v2/net/gudp"
)

func main() {
    gudp.NewServer("127.0.0.1:8999", func(conn *gudp.Conn) {
        defer conn.Close()
        for {
            if data, _ := conn.Recv(-1); len(data) > 0 {
                fmt.Println(string(data))
            }
        }
    }).Run()
}

?UDPServer?是阻塞運行的,用戶可以在自定義的回調(diào)函數(shù)中根據(jù)讀取內(nèi)容進行并發(fā)處理。

在?Linux?下可以使用以下命令向服務(wù)端發(fā)送?UDP?數(shù)據(jù)進行測試,隨后查看服務(wù)端端是否有輸出:

echo "hello" > /dev/udp/127.0.0.1/8999

文章名稱:創(chuàng)新互聯(lián)GoFrame教程:GoFrame UDP組件-基本介紹
轉(zhuǎn)載源于:http://www.5511xx.com/article/cccghpd.html