完善SERVER压力测试,目前可承受5000+ TCP连接(LINE模式)

稍后完善最大在线体系
This commit is contained in:
koangel 2017-07-24 23:18:29 +08:00
commit 46e8de9a2a
5 changed files with 85 additions and 0 deletions

3
.gitignore vendored Normal file
View 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
View File

@ -0,0 +1,3 @@
// 2017-07-23
// cg 加解密函数
package CGCrypt

16
README.md Normal file
View File

@ -0,0 +1,16 @@
# GrapeCG是什么项目
GrapeCG是CrossGate大陆译为魔力宝贝的一款服务器端模拟器仅仅模拟部分功能。
# 发起原因
本人在上学时特别喜欢CG这款游戏但是当时碍于学习几乎被限制后来再玩也就不是那个感觉了其实是CG这款游戏让我立志进入游戏行业并一步步走到今日。
发起本项目并不是为了盈利纯粹就是个人爱好我比较喜欢这个游戏就深入研究了这个游戏在韩国地区泄露的服务端的协议并模拟了基本的框架和加解密目的是为了借CG这款游戏来完善在GO语言方面的游戏服务端框架编写。
# 目前可以做什么
目前本模拟器刚刚起步,应该只可以做到基本的逛地图,而本人并不是特别有空,所以也就是学习之用,慢慢完善吧。
如果框架编写差不多了,基本上也就不会再去维护和更新了。

13
Tests/Client_test/main.go Normal file
View File

@ -0,0 +1,13 @@
// 2017-07-24
// 测试网络层基本收法行为
package main
import (
gnet "github.com/koangel/grapeNet/Net"
)
func main() {
vnet := gnet.NewEmptyTcp() // 创建一个空的对象
vnet.Runnable()
}

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