gfgtcp

module
v1.0.22 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Nov 18, 2023 License: MIT

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) {
    //......
}

Directories

Path Synopsis

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL