mirror of
https://github.com/duanhf2012/origin.git
synced 2026-02-13 23:24:45 +08:00
去除掉全局模块
This commit is contained in:
@@ -1,12 +1,13 @@
|
||||
{
|
||||
"NodeList":[
|
||||
"PublicServiceList":["logiclog"],
|
||||
|
||||
"NodeList":[
|
||||
{
|
||||
"NodeID":1,
|
||||
"NodeName":"N_Node1",
|
||||
"ServerAddr":"127.0.0.1:8080",
|
||||
|
||||
"ServiceList":["WSServerService","CTest","HttpServerService"],
|
||||
"ServiceList":["CTest"],
|
||||
"ClusterNode":["N_Node2"]
|
||||
},
|
||||
|
||||
|
||||
157
Test/main.go
157
Test/main.go
@@ -3,50 +3,94 @@ package main
|
||||
import (
|
||||
"encoding/json"
|
||||
"fmt"
|
||||
"io"
|
||||
"net/http"
|
||||
"os"
|
||||
"time"
|
||||
|
||||
"github.com/duanhf2012/origin/cluster"
|
||||
"github.com/duanhf2012/origin/network"
|
||||
"github.com/duanhf2012/origin/sysmodule"
|
||||
|
||||
"github.com/duanhf2012/origin/originnode"
|
||||
"github.com/duanhf2012/origin/service"
|
||||
"github.com/duanhf2012/origin/sysservice"
|
||||
|
||||
"github.com/gorilla/websocket"
|
||||
)
|
||||
|
||||
type CMessageReceiver struct {
|
||||
//子模块
|
||||
type CTestModule struct {
|
||||
service.BaseModule
|
||||
}
|
||||
|
||||
func (slf *CMessageReceiver) OnConnected(webServer network.IWebsocketServer, clientid uint64) {
|
||||
fmt.Printf("%d\n", clientid)
|
||||
func (ws *CTestModule) DoSomething() {
|
||||
fmt.Printf("CTestModule do some thing!\n")
|
||||
}
|
||||
|
||||
func (slf *CMessageReceiver) OnDisconnect(webServer network.IWebsocketServer, clientid uint64, err error) {
|
||||
fmt.Printf("%d\n", clientid)
|
||||
fmt.Print(err)
|
||||
func (ws *CTestModule) OnInit() error {
|
||||
fmt.Printf("CTestModule.OnInit\n")
|
||||
return nil
|
||||
}
|
||||
|
||||
func (slf *CMessageReceiver) OnRecvMsg(webServer network.IWebsocketServer, clientid uint64, msgtype int, data []byte) {
|
||||
fmt.Printf("%d,%d\n", clientid, msgtype)
|
||||
fmt.Print(string(data))
|
||||
|
||||
webServer.SendMsg(clientid, websocket.TextMessage, data)
|
||||
func (ws *CTestModule) OnRun() bool {
|
||||
time.Sleep(2 * time.Second)
|
||||
fmt.Printf("CTestModule.OnRun\n")
|
||||
return true
|
||||
}
|
||||
|
||||
func Test(res http.ResponseWriter, req *http.Request) {
|
||||
io.WriteString(res, "test..........!\n")
|
||||
func (ws *CTestModule) OnEndRun() {
|
||||
fmt.Printf("CTestModule.OnEndRun\n")
|
||||
}
|
||||
|
||||
//CTest服务定义
|
||||
type CTest struct {
|
||||
service.BaseService
|
||||
tmp int
|
||||
}
|
||||
|
||||
func (ws *CTest) OnInit() error {
|
||||
fmt.Printf("CTest.OnInit\n")
|
||||
|
||||
testModule := CTestModule{}
|
||||
moduleId := ws.AddModule(&testModule)
|
||||
pTmpModule := ws.GetModuleById(moduleId)
|
||||
pTmpModuleTest := pTmpModule.(*CTestModule)
|
||||
pTmpModuleTest.DoSomething()
|
||||
|
||||
return nil
|
||||
}
|
||||
|
||||
func (ws *CTest) OnRun() bool {
|
||||
|
||||
ws.tmp = ws.tmp + 1
|
||||
time.Sleep(1 * time.Second)
|
||||
logic := service.InstanceServiceMgr().FindService("logiclog")
|
||||
logic.(sysmodule.ILogger).Printf(sysmodule.LEVER_DEBUG, "CTest.OnRun\n")
|
||||
fmt.Printf("CTest.OnRun\n")
|
||||
/*
|
||||
//if ws.tmp%10 == 0 {
|
||||
var test CTestData
|
||||
test.Bbbb = 1111
|
||||
test.Cccc = 111
|
||||
test.Ddd = "1111"
|
||||
var test2 CTestData
|
||||
err := cluster.Call("_CTest.RPC_LogTicker2\n", &test, &test2)
|
||||
fmt.Print(err, test2)
|
||||
//}
|
||||
|
||||
//模块的示例
|
||||
testModule := CTestModule{}
|
||||
moduleId := ws.AddModule(&testModule)
|
||||
pTmpModule := ws.GetModuleById(moduleId)
|
||||
pTmpModuleTest := pTmpModule.(*CTestModule)
|
||||
pTmpModuleTest.DoSomething()
|
||||
pservice := testModule.GetOwnerService()
|
||||
fmt.Printf("%T", pservice)
|
||||
*/
|
||||
return true
|
||||
}
|
||||
|
||||
func (ws *CTest) OnEndRun() {
|
||||
fmt.Printf("CTest.OnEndRun\n")
|
||||
}
|
||||
|
||||
func (ws *CTest) RPC_LogTicker2(args *CTestData, quo *CTestData) error {
|
||||
|
||||
*quo = *args
|
||||
return nil
|
||||
}
|
||||
|
||||
@@ -56,20 +100,6 @@ type CTestData struct {
|
||||
Ddd string
|
||||
}
|
||||
|
||||
type CTestModule struct {
|
||||
service.BaseModule
|
||||
}
|
||||
|
||||
func (ws *CTestModule) DoSomething() {
|
||||
fmt.Printf("CTestModule do some thing!")
|
||||
}
|
||||
|
||||
func (ws *CTest) RPC_LogTicker2(args *CTestData, quo *CTestData) error {
|
||||
|
||||
*quo = *args
|
||||
return nil
|
||||
}
|
||||
|
||||
func (ws *CTest) HTTP_LogTicker2(request *sysservice.HttpRequest, resp *sysservice.HttpRespone) error {
|
||||
|
||||
data := CTestData{111, 333, "34444"}
|
||||
@@ -77,68 +107,17 @@ func (ws *CTest) HTTP_LogTicker2(request *sysservice.HttpRequest, resp *sysservi
|
||||
return nil
|
||||
}
|
||||
|
||||
func (ws *CTest) OnRun() error {
|
||||
|
||||
ws.tmp = ws.tmp + 1
|
||||
time.Sleep(1 * time.Second)
|
||||
//if ws.tmp%10 == 0 {
|
||||
var test CTestData
|
||||
test.Bbbb = 1111
|
||||
test.Cccc = 111
|
||||
test.Ddd = "1111"
|
||||
var test2 CTestData
|
||||
err := cluster.Call("_CTest.RPC_LogTicker2", &test, &test2)
|
||||
fmt.Print(err, test2)
|
||||
//}
|
||||
|
||||
//模块的示例
|
||||
testModule := CTestModule{}
|
||||
testModule.SetModuleType(1)
|
||||
ws.AddModule(&testModule)
|
||||
|
||||
pTmpModule := ws.GetModuleByType(1)
|
||||
pTmpModuleTest := pTmpModule.(*CTestModule)
|
||||
pTmpModuleTest.DoSomething()
|
||||
pservice := testModule.GetOwnerService()
|
||||
fmt.Printf("%T", pservice)
|
||||
return nil
|
||||
}
|
||||
|
||||
func NewCTest(servicetype int) *CTest {
|
||||
wss := new(CTest)
|
||||
wss.Init(wss, servicetype)
|
||||
return wss
|
||||
}
|
||||
|
||||
func checkFileIsExist(filename string) bool {
|
||||
var exist = true
|
||||
if _, err := os.Stat(filename); os.IsNotExist(err) {
|
||||
exist = false
|
||||
}
|
||||
return exist
|
||||
}
|
||||
|
||||
func (ws *CTest) OnDestory() error {
|
||||
return nil
|
||||
}
|
||||
|
||||
func main() {
|
||||
node := originnode.NewOrginNode()
|
||||
if node == nil {
|
||||
return
|
||||
}
|
||||
|
||||
var module CTestModule
|
||||
module.SetModuleType(1)
|
||||
originnode.AddModule(&module)
|
||||
ptest := originnode.GetModuleByType(1)
|
||||
fmt.Print(ptest)
|
||||
test := CTest{}
|
||||
logiclogservice := &sysservice.LogService{}
|
||||
logiclogservice.InitLog("logiclog", sysmodule.LEVER_DEBUG)
|
||||
|
||||
var receiver CMessageReceiver
|
||||
wsservice := sysservice.NewWSServerService("/ws", 1314, &receiver, false)
|
||||
test := NewCTest(0)
|
||||
httpserver := sysservice.NewHttpServerService(9120)
|
||||
node.SetupService(test, httpserver, wsservice)
|
||||
node.SetupService(logiclogservice, &test)
|
||||
|
||||
node.Init()
|
||||
node.Start()
|
||||
|
||||
Reference in New Issue
Block a user