服务端:
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)
}
分享到:
相关推荐
SSE是Golang服务器发送事件的客户端/服务器实现。 建置状态 掌握: 注意:现在,所有活动开发都在v2分支上进行。 快速开始 要安装版本2: go get github.com/r3labs/sse/v2 去测试: $ make deps $ make test ...
Go Golang中的UDP服务器/客户端 介绍 带有UDP的Go服务器/客户端 没什么特别的。 TODO:// protobuf,重构等。 麻省理工学院版权所有,请参阅
集成各种获取方式,获取正确的IP
主要介绍了golang实现简单的udp协议服务端与客户端,结合实例形式分析了基于UDP协议的数据传输相关实现技巧,需要的朋友可以参考下
go-wordpress, Golang API的客户端库( Wordpress REST API ) go-wp-apiGolang api的客户端库( Wordpress REST API )安装go get github.com/sogko/go-wordpress用法快速示例package main
本文实例讲述了golang实现的文件上传与文件下载功能。分享给大家供大家参考,具体如下: upload.go 复制代码 代码如下:package common import ( “io/ioutil” “os” “path” “github.com/gin-gonic/gin...
使用责任链、反射、gin框架等技术实现的restful风格的Golang游戏服务端,里面包含了一系列功能。包括接收客户端的请求,并调用相关的业务代码。业务职责清晰,分层明显,是开发游戏服务端的不二选择。
1、该资源针是用golang语言写成,分为两部分:服务器端和客户端,进行连接即时通讯 2、golang语言基础,易于理解,新手可以作为参考学习 3、功能包含: 登录、注册、登录通知、点对点通讯、群聊通讯、在线通知、...
创建一个websocket的服务端 package smile import ( errors log net/http sync time github.com/gorilla/websocket ) const ( // 允许等待的写入时间 writeWait = 10 * time.Second // Time allowed to ...
UDP协议中文名称使用户数据报协议。UDP是一种无连接的传输层协议不需要建立连接就可以直接进行数据发送和接受,属于不可靠的,没有时序的通信。但是UDP实时性比较好,通常用于视频直播相关领域
用 golang 编写的小型简单 UDP syslog 服务器,旨在以漂亮明亮的彩色方式显示日志消息。 免责声明 这是目前非常早期的版本,一切都可以而且将会改变。 执照 版权所有 (c) 2014 Mark Wolfe 根据 MIT 许可获得许可。
最近在学习Golang语言,中间遇到一个前辈指点,有一个学习原则:Learning By Doing。跟我之前学习Java的经验高度契合。在前一段时间学习洼坑中挣扎了好几天,差点就忘记这个重要的成功经验。 那么那什么来做练习呢...
学习MODBUS通信的比较完整的开发资料。含Modbus TCP/RTU 服务端和客户端源代码、MODBUS中文协议文档、测试工具。
异步http客户端Golang异步http客户端使用回调
Golang零SDK客户端
受Javascript-axios Python请求的启发,向HTTP客户端请求golang。 如果您有关于axios或请求的经验,那么您会喜欢的。 没有第三个依赖项。 功能从Golang发出HTTP请求,以受Javascript-axios Python-request的启发,向...
go-bluetooth, 在 bluez DBus接口上,Golang蓝牙客户端 蓝牙基于 bluez DBus接口的Golang蓝牙客户端请参阅这里参考 https://git.kernel.org/cgit/bluetooth/bluez.git/tree/doc 。状态当前的API不稳定,将来可能会...
golang的netapp客户端 例子 c , err := netapp. NewClient ( < your> , < your> , & netapp. ClientOptions { }, ) if err != nil { fmt . Fprintf ( os . Stderr , "error: %v \n " , err ) os . Exit ( 1 )...