You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
4.1 KiB
4.1 KiB
Examples
本目录包含 nnet 网络库的各种使用示例。
运行示例
每个示例目录包含 server.go 和 client.go 两个文件,使用 Go 构建标签区分:
运行服务器
# 默认运行 server(不指定标签)
go run ./examples/client_pool
# 或者明确指定 server 标签
go run -tags server ./examples/client_pool
# 编译服务器
go build -tags server -o server.exe ./examples/client_pool
运行客户端
# 必须指定 client 标签
go run -tags client ./examples/client_pool
# 编译客户端
go build -tags client -o client.exe ./examples/client_pool
示例列表
client_pool
演示客户端连接池的使用。
服务器:
go run -tags server ./examples/client_pool
客户端:
go run -tags client ./examples/client_pool
interceptor
演示拦截器链的使用,包括数据验证、转换和过滤。
服务器:
go run -tags server ./examples/interceptor
客户端:
# 验证数据
go run -tags client ./examples/interceptor -addr tcp://127.0.0.1:8084 -cmd validate -data "hello"
# 测试短数据(会被拒绝)
go run -tags client ./examples/interceptor -addr tcp://127.0.0.1:8084 -cmd validate -data "hi"
# 测试禁止的数据
go run -tags client ./examples/interceptor -addr tcp://127.0.0.1:8084 -cmd validate -data "forbidden"
# Echo 测试
go run -tags client ./examples/interceptor -addr tcp://127.0.0.1:8084 -cmd echo -data "test"
middleware
演示中间件的使用。
服务器:
go run -tags server ./examples/middleware
客户端:
go run -tags client ./examples/middleware -addr tcp://127.0.0.1:8085
protocol_version
演示协议版本管理。
服务器:
go run -tags server ./examples/protocol_version
客户端:
go run -tags client ./examples/protocol_version -addr tcp://127.0.0.1:8082 -cmd version
go run -tags client ./examples/protocol_version -addr tcp://127.0.0.1:8082 -cmd echo -data "hello"
session_file
演示基于文件的会话存储。
服务器:
go run -tags server ./examples/session_file
客户端:
go run -tags client ./examples/session_file -addr tcp://127.0.0.1:8083 -cmd set
go run -tags client ./examples/session_file -addr tcp://127.0.0.1:8083 -cmd get
go run -tags client ./examples/session_file -addr tcp://127.0.0.1:8083 -cmd counter
udp_echo
演示 UDP 协议的 echo 服务器和客户端。
服务器:
go run -tags server ./examples/udp_echo
客户端:
go run -tags client ./examples/udp_echo -addr udp://127.0.0.1:8084 -data "hello-udp"
ws_echo
演示 WebSocket 协议的 echo 服务器和客户端。
服务器:
go run -tags server ./examples/ws_echo
客户端:
go run -tags client ./examples/ws_echo -addr ws://127.0.0.1:8083 -data "hello-ws"
其他示例
basic
基本的服务器和客户端示例。
go run ./examples/basic
router_frame_data
演示基于帧数据的路由匹配。
go run ./examples/router_frame_data
metrics_health
演示指标和健康检查功能。
go run ./examples/metrics_health
preset
演示 PresetBuilder 的快速启动方式,并自动挂载 metrics/health HTTP 端点。
go run ./examples/preset
client_request
演示客户端请求-响应模式。
go run ./examples/client_request
write_any
演示多种写入方式。
go run ./examples/write_any
构建标签说明
server: 编译服务器代码client: 编译客户端代码- 默认(无标签): 编译服务器代码
使用构建标签可以:
- 在同一个目录中组织 server 和 client 代码
- 分别编译和运行 server 和 client
- 保持代码组织清晰,避免目录过多
注意事项
- 运行客户端前,请确保服务器已经启动
- 某些示例需要特定的命令行参数,请参考各个示例的注释
- 端口冲突时,可以修改服务器配置中的端口号
- WebSocket 和 UDP 示例需要使用对应的协议地址(
ws://或udp://)