完善SERVER压力测试,目前可承受5000+ TCP连接(LINE模式)
稍后完善最大在线体系
This commit is contained in:
commit
46e8de9a2a
3
.gitignore
vendored
Normal file
3
.gitignore
vendored
Normal file
@ -0,0 +1,3 @@
|
||||
Tests/Network_test/log/normal.log
|
||||
Tests/Network_test/debug
|
||||
/Tests/Network_test/log
|
3
CGCrypt/Crypt.go
Normal file
3
CGCrypt/Crypt.go
Normal file
@ -0,0 +1,3 @@
|
||||
// 2017-07-23
|
||||
// cg 加解密函数
|
||||
package CGCrypt
|
16
README.md
Normal file
16
README.md
Normal file
@ -0,0 +1,16 @@
|
||||
# GrapeCG是什么项目
|
||||
|
||||
GrapeCG是CrossGate(大陆译为:魔力宝贝)的一款服务器端模拟器,仅仅模拟部分功能。
|
||||
|
||||
# 发起原因
|
||||
|
||||
本人在上学时特别喜欢CG这款游戏,但是当时碍于学习几乎被限制,后来再玩也就不是那个感觉了,其实是CG这款游戏让我立志进入游戏行业,并一步步走到今日。
|
||||
|
||||
发起本项目并不是为了盈利纯粹就是个人爱好,我比较喜欢这个游戏就深入研究了这个游戏在韩国地区泄露的服务端的协议,并模拟了基本的框架和加解密,目的是为了借CG这款游戏来完善在GO语言方面的游戏服务端框架编写。
|
||||
|
||||
# 目前可以做什么
|
||||
|
||||
目前本模拟器刚刚起步,应该只可以做到基本的逛地图,而本人并不是特别有空,所以也就是学习之用,慢慢完善吧。
|
||||
|
||||
如果框架编写差不多了,基本上也就不会再去维护和更新了。
|
||||
|
13
Tests/Client_test/main.go
Normal file
13
Tests/Client_test/main.go
Normal file
@ -0,0 +1,13 @@
|
||||
// 2017-07-24
|
||||
// 测试网络层基本收法行为
|
||||
package main
|
||||
|
||||
import (
|
||||
gnet "github.com/koangel/grapeNet/Net"
|
||||
)
|
||||
|
||||
func main() {
|
||||
vnet := gnet.NewEmptyTcp() // 创建一个空的对象
|
||||
|
||||
vnet.Runnable()
|
||||
}
|
50
Tests/Network_test/main.go
Normal file
50
Tests/Network_test/main.go
Normal file
@ -0,0 +1,50 @@
|
||||
// 2017-07-24
|
||||
// 测试网络层基本收法行为
|
||||
package main
|
||||
|
||||
import (
|
||||
"log"
|
||||
"runtime"
|
||||
|
||||
logger "github.com/koangel/grapeNet/Logger"
|
||||
gnet "github.com/koangel/grapeNet/Net"
|
||||
|
||||
"net/http"
|
||||
_ "net/http/pprof"
|
||||
)
|
||||
|
||||
type userData struct {
|
||||
userName string
|
||||
}
|
||||
|
||||
func CreateOwner() interface{} {
|
||||
return &userData{}
|
||||
}
|
||||
|
||||
func HandleData(conn *gnet.TcpConn, ownerPak []byte) {
|
||||
logger.INFO("recv Data:%v - pak:%v", conn.SessionId, string(ownerPak))
|
||||
}
|
||||
|
||||
func main() {
|
||||
// 设置并行运行
|
||||
runtime.GOMAXPROCS(runtime.NumCPU())
|
||||
|
||||
curDir := logger.GetCurrentDirectory() + "/log"
|
||||
logger.BuildLogger(curDir, "normal.log")
|
||||
logger.INFO("Test Server Start...")
|
||||
cnet, err := gnet.NewTcpServer(":9923")
|
||||
if err != nil {
|
||||
logger.FLUSH()
|
||||
return
|
||||
}
|
||||
|
||||
go func() {
|
||||
log.Println(http.ListenAndServe("localhost:7777", nil))
|
||||
}()
|
||||
|
||||
cnet.Unpackage = gnet.DefaultLineData
|
||||
cnet.OnHandler = HandleData
|
||||
cnet.CreateUserData = CreateOwner
|
||||
|
||||
cnet.Runnable()
|
||||
}
|
Loading…
Reference in New Issue
Block a user