golang的游戏服务器框架有挺多的, 大体上一个游戏成品的客户端, 都需要接入账号系统和其他分类的系统.
这里为了简单化, 先开一个最简单的TCPServer服务器端(网络上的各种服务器框架大同小异, 这里选择用266的tcp框架. 其实是一个意思)
package main
import (
"log"
"time"
connection "github.com/266game/goserver/Connection"
tcpserver "github.com/266game/goserver/TCPServer"
)
func main() {
// 启动服务器
pServer := tcpserver.NewTCPServer()
pServer.OnRead = func(pData *connection.TData) {
// 这里是服务器收到的内容
}
// 开启一个新的端口 12345
pServer.Start(":12345")
// 这里暂时弄一个5000小时的等待, 不然进程就直接关闭了.
time.Sleep(time.Hour * 5000 )
}
客户端因为要操作, 得有一个带界面的库, 这里选择用govcl的客户端界面库
package main
import (
"log"
connection "github.com/266game/goserver/Connection"
tcpclient "github.com/266game/goserver/TCPClient"
"github.com/ying32/govcl/vcl"
)
// TMainForm 主窗体
type TMainForm struct {
*