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

栏目: Go · 发布时间: 6年前

内容简介:大家好,我是彬哥,本节给大家讲下LollipopGo v1.0.20190117 版本游戏服务器邮件GM工具调试,抛砖引玉了,主要是针对Go语言游戏服务器邮件GM工具调试流程做说明。state 为 1,表示新邮件;db服务器会定时查找数据库:每天坚持学习1小时Go语言,大家加油,我是彬哥,下期见!如果文章中不同观点、意见请文章下留言或者关注下方订阅号反馈!

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

一 数据库设计:

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

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

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)
            }
        }
    }
}
LollipopGo开源游戏服务器框架--邮件GM工具调试demo

日志打印

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

社区交流群:221273219

Golang语言社区论坛 :

www.Golang.Ltd

LollipopGo游戏服务器地址:

https://github.com/Golangltd/LollipopGo

社区视频课程课件GIT地址:

https://github.com/Golangltd/codeclass
LollipopGo开源游戏服务器框架--邮件GM工具调试demo

Golang语言社区


以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,也希望大家多多支持 码农网

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

Linux设备驱动程序

Linux设备驱动程序

科波特 / 魏永明、耿岳、钟书毅 / 中国电力出版社 / 2006-1-1 / 69.00元

本书是经典著作《Linux设备驱动程序》的第三版。如果您希望在Linux操作系统上支持计算机外部设备,或者在Linux上运行新的硬件,或者只是希望一般性地了解Linux内核的编程,就一定要阅读本书。本书描述了如何针对各种设备编写驱动程序,而在过去,这些内容仅仅以口头形式交流,或者零星出现在神秘的代码注释中。 本书的作者均是Linux社区的领导者。Jonathan Corbet虽不是专职的内核......一起来看看 《Linux设备驱动程序》 这本书的介绍吧!

JS 压缩/解压工具
JS 压缩/解压工具

在线压缩/解压 JS 代码

JSON 在线解析
JSON 在线解析

在线 JSON 格式化工具

在线进制转换器
在线进制转换器

各进制数互转换器