Merge pull request #1 from vipally/master

some optimization
This commit is contained in:
duanhf2012
2019-07-02 11:07:28 +08:00
committed by GitHub
5 changed files with 68 additions and 5 deletions

View File

@@ -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

View File

@@ -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 {

View File

@@ -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
}

View File

@@ -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

View 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()
}