mirror of
https://github.com/duanhf2012/origin.git
synced 2026-02-27 09:14:44 +08:00
@@ -38,7 +38,7 @@ type WebsocketClient struct {
|
|||||||
timeoutsec time.Duration
|
timeoutsec time.Duration
|
||||||
|
|
||||||
bRun bool
|
bRun bool
|
||||||
ping string
|
ping []byte
|
||||||
}
|
}
|
||||||
|
|
||||||
const (
|
const (
|
||||||
@@ -71,12 +71,12 @@ func (ws *WebsocketClient) Init(slf IWebsocketClient, strurl, strProxyPath strin
|
|||||||
}
|
}
|
||||||
|
|
||||||
ws.url = strurl
|
ws.url = strurl
|
||||||
ws.ping = `ping`
|
ws.ping = []byte(`ping`)
|
||||||
return nil
|
return nil
|
||||||
}
|
}
|
||||||
|
|
||||||
func (ws *WebsocketClient) SetPing(ping string) {
|
func (ws *WebsocketClient) SetPing(ping string) {
|
||||||
ws.ping = ping
|
ws.ping = []byte(ping)
|
||||||
}
|
}
|
||||||
|
|
||||||
//OnRun ...
|
//OnRun ...
|
||||||
@@ -182,7 +182,7 @@ func (ws *WebsocketClient) writeMsg() error {
|
|||||||
|
|
||||||
case <-timerC:
|
case <-timerC:
|
||||||
if ws.state == 2 {
|
if ws.state == 2 {
|
||||||
err := ws.WriteMessage([]byte(ws.ping))
|
err := ws.WriteMessage(ws.ping)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
service.GetLogger().Printf(service.LEVER_WARN, "websocket client is disconnect [%s],information is %v", ws.url, err)
|
service.GetLogger().Printf(service.LEVER_WARN, "websocket client is disconnect [%s],information is %v", ws.url, err)
|
||||||
ws.state = 0
|
ws.state = 0
|
||||||
|
|||||||
@@ -23,6 +23,8 @@ type IWebsocketServer interface {
|
|||||||
CreateClient(conn *websocket.Conn) *WSClient
|
CreateClient(conn *websocket.Conn) *WSClient
|
||||||
Disconnect(clientid uint64)
|
Disconnect(clientid uint64)
|
||||||
ReleaseClient(pclient *WSClient)
|
ReleaseClient(pclient *WSClient)
|
||||||
|
Clients() []uint64
|
||||||
|
BroadcastMsg(messageType int, msg []byte) int
|
||||||
}
|
}
|
||||||
|
|
||||||
type IMessageReceiver interface {
|
type IMessageReceiver interface {
|
||||||
|
|||||||
@@ -1,5 +1,9 @@
|
|||||||
package service
|
package service
|
||||||
|
|
||||||
|
import (
|
||||||
|
"fmt"
|
||||||
|
)
|
||||||
|
|
||||||
const (
|
const (
|
||||||
LEVER_UNKNOW = 0
|
LEVER_UNKNOW = 0
|
||||||
LEVER_DEBUG = 1
|
LEVER_DEBUG = 1
|
||||||
@@ -10,8 +14,24 @@ const (
|
|||||||
LEVEL_MAX = 6
|
LEVEL_MAX = 6
|
||||||
)
|
)
|
||||||
|
|
||||||
|
var defaultLogger = &LoggerFmt{}
|
||||||
|
|
||||||
type ILogger interface {
|
type ILogger interface {
|
||||||
Printf(level uint, format string, v ...interface{})
|
Printf(level uint, format string, v ...interface{})
|
||||||
Print(level uint, v ...interface{})
|
Print(level uint, v ...interface{})
|
||||||
SetLogLevel(level uint)
|
SetLogLevel(level uint)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
type LoggerFmt struct {
|
||||||
|
}
|
||||||
|
|
||||||
|
func (slf *LoggerFmt) Printf(level uint, format string, v ...interface{}) {
|
||||||
|
fmt.Printf(format, v...)
|
||||||
|
fmt.Println("")
|
||||||
|
}
|
||||||
|
func (slf *LoggerFmt) Print(level uint, v ...interface{}) {
|
||||||
|
fmt.Println(v...)
|
||||||
|
}
|
||||||
|
func (slf *LoggerFmt) SetLogLevel(level uint) {
|
||||||
|
//do nothing
|
||||||
|
}
|
||||||
|
|||||||
@@ -84,7 +84,11 @@ func (slf *CServiceManager) GenServiceID() int {
|
|||||||
}
|
}
|
||||||
|
|
||||||
func (slf *CServiceManager) GetLogger() ILogger {
|
func (slf *CServiceManager) GetLogger() ILogger {
|
||||||
return slf.logger
|
ret := slf.logger
|
||||||
|
if ret == nil {
|
||||||
|
ret = defaultLogger
|
||||||
|
}
|
||||||
|
return ret
|
||||||
}
|
}
|
||||||
|
|
||||||
var self *CServiceManager
|
var self *CServiceManager
|
||||||
|
|||||||
37
servicelist/servicelist.go
Normal file
37
servicelist/servicelist.go
Normal file
@@ -0,0 +1,37 @@
|
|||||||
|
package servicelist
|
||||||
|
|
||||||
|
import (
|
||||||
|
"github.com/duanhf2012/origin/originnode"
|
||||||
|
"github.com/duanhf2012/origin/service"
|
||||||
|
)
|
||||||
|
|
||||||
|
var node = func() *originnode.COriginNode {
|
||||||
|
//1.新建OrginNode结点
|
||||||
|
node := originnode.NewOriginNode()
|
||||||
|
if node == nil {
|
||||||
|
println("originnode.NewOriginNode fail")
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
return node
|
||||||
|
}()
|
||||||
|
|
||||||
|
var serviceList []service.IService
|
||||||
|
|
||||||
|
// 增加服务列表 在init中调用
|
||||||
|
// 因为是init的时候调用 所以不用锁
|
||||||
|
func PushService(s service.IService) {
|
||||||
|
serviceList = append(serviceList, s)
|
||||||
|
}
|
||||||
|
|
||||||
|
//在main中调用该函数即可加载所有service
|
||||||
|
//debugCheckUrl "localhost:6060"
|
||||||
|
func Start(debugCheckUrl string) {
|
||||||
|
node.OpenDebugCheck(debugCheckUrl)
|
||||||
|
node.SetupService(serviceList...)
|
||||||
|
|
||||||
|
//5.初始化结点
|
||||||
|
node.Init()
|
||||||
|
|
||||||
|
//6.开始结点
|
||||||
|
node.Start()
|
||||||
|
}
|
||||||
Reference in New Issue
Block a user