![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
go
码工AI助手
YUI,EMT什么的赛高.
展开
-
beego框架 sql: unknown driver "mysql" (forgotten import?)
在使用beego框架接入mysql时需要在main.go中引入自己使用的mysql驱动 "github.com/go-sql-driver/mysql" // import your used driver否则会报sql: unknown driver "mysql" (forgotten import?)原创 2015-11-12 17:30:12 · 4067 阅读 · 0 评论 -
go实现tcp游戏服务器sibo——协议篇
1. 协议格式任何游戏在动手编写代码前服务器与客户端的开发人员的首要任务是商定好协议的规则格式。下面以sibo协议为例:协议解析:---Header [8]bytepayloadLength [4]bytepayload [payloadLength]byte------Header各个byte...原创 2018-02-23 19:46:52 · 549 阅读 · 0 评论 -
go实现tcp游戏服务器sibo——序列化及压缩篇
1. 序列化上篇sibo协议的定制里其header部分包含了序列化类型及压缩类型的定义。 由于序列化为占用3个bit,因此最多可支持8种序列化方式。同理,压缩类型最多支持4种。sibo协议定义支持的序列化类型如下(共5种):const ( SerializeNone SerializeType = iota // 原始二进制 JSON ProtoBu...原创 2018-02-26 16:35:26 · 781 阅读 · 0 评论 -
go实现tcp游戏服务器sibo——服务器实现篇
package serverimport ( "net" "time" "sync" "crypto/tls" log "github.com/sirupsen/logrus" "runtime" "bufio" "strings" "io" &q原创 2018-02-27 20:01:29 · 544 阅读 · 0 评论 -
golang使用sync.Cond实现CappedBlockingQueue
sync.Cond需要结合互斥量使用,生产者与消费者的流程基本如下图 本例子中的queue使用链表实现,最好修改为数组或切片package structureimport ( "container/list" "sync")// 队列内部结构,封装了listtype MessageBuffer struct { buf *list.List}...原创 2018-03-17 16:10:15 · 882 阅读 · 1 评论 -
go利用最小堆实现优先队列
实现代码package coreimport "container/heap"type Item struct { Value interface{} Index int Priority int}type PriorityQueue []*Itemfunc NewPriorityQueue(cap int) PriorityQueue {...原创 2018-03-21 00:14:37 · 2295 阅读 · 0 评论