LollipopGo开源游戏服务器框架--邮件GM工具调试demo

Golang语言社区 · · 1176 次点击 · · 开始浏览    
这是一个创建于 的文章,其中的信息可能已经有所发展或是发生改变。

      大家好,我是彬哥,本节给大家讲下LollipopGo v1.0.20190117 版本游戏服务器邮件GM工具调试,抛砖引玉了,主要是针对Go语言游戏服务器邮件GM工具调试流程做说明。

一 数据库设计:

state 为 1,表示新邮件;db服务器会定时查找数据库:


image.png

二 GM工具代码:

package main

import (
    "encoding/json"
    "fmt"
    "io/ioutil"
    "log"
    "net/http"
    "net/url"
)

var daat *EmailST

type EmailST struct {
    ID        int
    Sender    string
    Name      string
    Type      int
    Time      string
    Content   string
    IsAdd_ons bool // 是否有附件
    IsOpen    bool // 是否打开过
    IsGet     bool // 是否打开过
    //ItemList  map[int]*ItemST
}

func main() {

    daat := &EmailST{
        ID:        1,
        Sender:    "admin",
        Name:      "admin",
        Type:      1,
        Content:   "qwertyuio",
        IsAdd_ons: false,
    }

    u, _ := url.Parse("http://localhost:8892/GolangLtdGM")
    q := u.Query()
    q.Set("Protocol", "11")
    q.Set("Protocol2", "3")
    q.Set("IMsgtype", "1")
    fmt.Println("---daat", daat)
    str, _ := json.Marshal(&daat)
    q.Set("EmailData", string(str))
    u.RawQuery = q.Encode()
    fmt.Printf("%s /n", u.String())
    res, err := http.Get(u.String())
    if err != nil {
        log.Fatal(err)
        return
    }
    result, err := ioutil.ReadAll(res.Body)
    res.Body.Close()
    if err != nil {
        log.Fatal(err)
        return
    }
    fmt.Printf("%s", result)
}

三 Global Server 定时器:

func TimeMsgNotice(conn *websocket.Conn, Conndata *rpc.Client) {
    good_conn := conn
    for {
        select {
        case <-time.After(time.Second * 30):
            {
                data := GetEmailDataFromDB(Conndata)
                fmt.Println("GetEmailDataFromDB------:", data)
                if len(data) > 0 {
                    iicounemail++
                    EmailNoticeFunc(good_conn)
                }
                // iicounmsg++
                // MsgNoticeFuncbak(conn)
                // EmailNoticeFunc(conn)
            }
        }
    }
}
日志打印

      每天坚持学习1小时Go语言,大家加油,我是彬哥,下期见!如果文章中不同观点、意见请文章下留言或者关注下方订阅号反馈!


社区交流群:221273219
Golang语言社区论坛 :
www.Golang.Ltd
LollipopGo游戏服务器地址:
https://github.com/Golangltd/LollipopGo
社区视频课程课件GIT地址:
https://github.com/Golangltd/codeclass


Golang语言社区

有疑问加站长微信联系(非本文作者)

本文来自:简书

感谢作者:Golang语言社区

查看原文:LollipopGo开源游戏服务器框架--邮件GM工具调试demo

入群交流(和以上内容无关):加入Go大咖交流群,或添加微信:liuxiaoyan-s 备注:入群;或加QQ群:692541889

1176 次点击  
加入收藏 微博
下一篇:2019-01-17
暂无回复
添加一条新回复 (您需要 登录 后才能回复 没有账号 ?)
  • 请尽量让自己的回复能够对别人有帮助
  • 支持 Markdown 格式, **粗体**、~~删除线~~、`单行代码`
  • 支持 @ 本站用户;支持表情(输入 : 提示),见 Emoji cheat sheet
  • 图片支持拖拽、截图粘贴等方式上传