# gfgtcp **Repository Path**: hello-rong/gfgtcp ## Basic Information - **Project Name**: gfgtcp - **Description**: 基于gf-gtcp的二次小封装,主要是用gmap组合了conn/client/自定义uid,以便可以从服务端快速向指定的客户端发送消息 - **Primary Language**: Go - **License**: MIT - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 2 - **Created**: 2020-12-24 - **Last Updated**: 2023-11-18 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # tcp-based-on-gf-gtcp #### 介绍 基于gf-gtcp的二次小封装,主要是用gmap组合了conn/client/自定义uid,以便可以从服务端快速向指定的客户端发送消息 #### 安装教程 go get gitee.com/hello-rong/gfgtcp #### 使用示例 ##### 示例一:常规使用 ``` package main import ( "gitee.com/hello-rong/gfgtcp/svr" "github.com/gogf/gf/net/gtcp" ) func main() { server := svr.NewServerService server.SetServerAddress("127.0.0.1:8999") server.SetServerName("svr0") server.SetMessageHandler(onMessage) _ = server.NewServer() } func onMessage(conn *gtcp.Conn, message []byte) { //...... } ``` ##### 示例二:开放多端口给不同客户端使用(硬件/后台交互接口/微信小程序/公众号...) ``` package main import ( "github.com/gogf/gf/frame/g" "github.com/gogf/gf/net/gtcp" "gitee.com/hello-rong/gfgtcp/svr" "app/service" ) func main() { server := svr.NewServerService //server.SetMessageHandler(service.NewMessageService1.OnMessage) server.SetMessageHandler(onMessageOne) go gtcp.NewServer("0.0.0.0:8998", server.OnNewServer).Run() //server.SetMessageHandler(service.NewMessageService2.OnMessage) server.SetMessageHandler(onMessageTwo) go gtcp.NewServer("0.0.0.0:8999", server.OnNewServer).Run() //ws,wss...... g.Wait() } //使用与硬件的通信协议(正式使用时可以移到\app\service目录下) func onMessageOne(conn *gtcp.Conn, message []byte) { //...... } //使用与后台管理的通信协议(正式使用时可以移到\app\service目录下) func onMessageTwo(conn *gtcp.Conn, message []byte) { //...... } ```