golang
云卷云舒么么哒
以前c++为主, 现在喜欢golang. 使用过c, delphi, c#, swift, objective-c, python, lua, js, php......等编程语言. 熟悉windows客户端编程, 流媒体编程, webrtc, linux服务器编程, 云风skynet服务器编程, 比特币以太坊区块链研究. 移动端android, ios客户端编程.
展开
-
开源MQTT broker服务器gomq开发进度
前几天因为研究开源NATS服务器gnatsd和开源半成品MQTT服务器surgemq以及对mosquitto的不满诞生了自己编写golang版开源MQTT broker服务器的想法,但是工作很忙所以只能搁浅计划,不过还是忍不住花了一天时间把surgemq的mqtt协议合并进gnatsd,新开源项目暂时起名gomq。 目前gomq对qos0/qos1/qos2都支持,不支持数据持久化,去掉了sur...原创 2018-05-08 20:57:39 · 3698 阅读 · 1 评论 -
golang的bufio源码分析
原本只想用用bufio,但是网上文章没有一个写清楚bufio到底怎么用,每个方法具体干了什么,搞不明白原理就不敢乱用,还好有源码,自己来分析最清楚。Reader分析func NewReaderSize(rd io.Reader, size int) *Reader { // Is it already a Reader? b, ok := rd.(*Reader) if ok原创 2018-05-06 09:54:00 · 473 阅读 · 0 评论 -
golang TCP Socket的一篇好文章
Go语言TCP Socket编程转载 2018-05-06 09:53:21 · 2394 阅读 · 0 评论 -
golang 日志相关
先收集,以后再弄: Golang 优化之路——自己造一个日志轮子 日志切割:lumberjack 开源日志:zap,速度快,切割配合使用楼上的 开源日志最多start:logrus...原创 2018-05-06 02:58:52 · 499 阅读 · 0 评论 -
golang的redis和mysql客户端
redis客户端 github.com/gomodule/redigo/redis mysql客户端 github.com/go-sql-driver/mysql 必须配合go自带的database/sql使用,里面坑好像有点多,需要小心。 参考文章: 记golang数据库查询封装的坑 关于Golang中database/sql包的学习笔记...原创 2018-05-06 02:56:14 · 886 阅读 · 0 评论 -
web前端开发 vue.js
使用前端vue.js+后端golang RESTful API方式来做web开发. golang选择gin框架原创 2018-05-04 20:10:18 · 910 阅读 · 0 评论 -
golang的开源游戏服务器框架
golang的游戏服务器框架有leaf, cellnet, mqant等. 一. 选择 cellnet好像使用callback回调方式, 直接pass. mqant使用了mqtt协议, 感觉写了太多, 有点复杂, 也pass了. 以上两个都没看源码, 就是看介绍的感觉. 最终选择查看leaf源码, 因为leaf貌似最轻量最简单. 二. leaf源码分析 …...原创 2018-05-04 19:50:12 · 10782 阅读 · 3 评论 -
golang chan总结
goroutine和chan配合是golang的核心技术, 必须深入研究一下使用方法. 无缓冲chan 进和出都会阻塞. 例1: func main() { ch := make(chan error) fmt.Println("main1") go func() { fmt.Println("go1") ch <...原创 2018-05-04 19:41:00 · 3134 阅读 · 0 评论 -
gnatsd集群原理分析
看了一天gnatsd集群相关的源码差点没把我给绕晕,总算是搞个大体明白了,最近功力暴涨,哈哈哈。集群连接集群中的每个服务器之间都是互相通过route连接。 server1启动一个route进行tcp监听等待远程route连接。 收到server2的route client连接以后,server1调用sendInfo发送本服务器的一堆信息。 server2也开启route server监听等待别原创 2018-05-06 09:56:06 · 1227 阅读 · 0 评论