WebSocket协议是基于TCP的一种新的网络协议.它实现了浏览器与服务器全双工(full-duplex)通信--允许服务器主动发送信息给客户端. WebSocket通信协议于2011年被IETF定为标准RFC 6455,并被RFC7936所补充规范. 在golang语言中,目前有两种比较常用的实现方式:一个是golang自带的库,另一个是gorilla,功能强大. golang自带库的使用例子可参考以前的博文:Golang如何使用websocket 本文以gorilla为例,介绍websoc…
TOML 的全称是 Tom's Obvious, Minimal Language,因为它的作者是 GitHub 联合创始人 Tom Preston-Werner. TOML 的目标是成为一个极简的配置文件格式.TOML 被设计成可以无歧义地被映射为哈希表,从而被多种语言解析.   TOML 的Spec https://github.com/toml-lang/toml  中文版: http://segmentfault.com/a/1190000000477752    Golang的解析库很…
WebSocket是什么 WebSocket 是一种在单个 TCP 连接上进行全双工通信的协议.其最大特点之一就是:服务器可以主动向客户端推送信息,客户端也可以主动向服务器发送信息,是真正的双向平等对话. 开发前期准备(默认已经安装了golang语言环境) 我这里通过两个库来实现整个WebSocket的开发,这两个库分别是gin和gorilla/websocket.这里有两种方法来获取这两个库,其一就是用go get,其二是使用git bash中的git clone拉取.我使用的是第二种方法,具…
简介 在开发过程中 会使用到日志库去记录错误的日志,尤其是golang中 有无穷无尽的error 如果不记录,当你的代码出错,就无从排错了. zap 是开源的 Go 高性能日志库 主要有以下特点: 支持不同的日志级别 能够打印基本信息等但不支持日志的分割 但是可以使用 lumberjack 也是 zap 官方推荐用于日志分割 官网:https://github.com/uber-go/zap https://pkg.go.dev/go.uber.org/zap#section-readme 安装…
原文: http://mp.weixin.qq.com/s?__biz=MjM5NTIyNTUyMQ==&mid=444322139&idx=1&sn=c7bef4d439f46ee539aa76d612023d43&scene=1&srcid=0105PiNf2cwY7DMCyEWBJfEL#rd 我几周前写过一篇文章,叫<被误解的 MVC 和被神化的 MVVM>,其中的很多思想是和本文的作者 Lancy 交流获得的.当时很多人回复问:能直接上猿题库的…
下载go的websocket包. 1. 通过google官方的方法, 需要hg来同步代码. 由于墙的原因, 还需要设置代理. 比较麻烦 2. http://gopm.io/ 通过该网站下载, 这是golang中国提供的解决方法 http://www.golangtc.com/download/package websocket的实现还是比较简单的. 一共就4个文件. client.go  hybi.go server.go websocket.go 示例代码网上到处都是, 就不贴了. 有一篇自己…
High Performance Math Library for C# and .NET是一个很cool的C#的高性能数学库,3D效果也很不错,下图是首页上的一个例子.他也有一个交互的网页,你可以自己写代码实时看到输出.它的开源license是GPLv3,如果商用有商用版本可以购买.…
Golang实现requests库 简单的封装下,方便使用,像python的requests库一样. Github地址 Github 支持 GET.POST.PUT.DELETE application/json.application/x-www-form-urlencoded 不支持: multipart/form-data(现已支持,2019-04-16更新) 使用 下面是常用的例子,GET请求:POST表单提交.json提交,保存文件等. Get func getText() { tex…
Golang笔记(二)面向对象的设计 Golang本质还是面向过程的语言,但它实现了一些OOP的特性,包括抽象.封装.继承和多态. 抽象和封装 Golang和C语言一样以struct为数据结构核心,不同的是Golang的struct可以定义自己的函数,这使得struct有了一些class的特点,所以Golang具有OOP里抽象和封装的概念.举个栗子来说,f是os.OpenFile()函数返回的File类型指针,File结构体实现了Close()函数,通过f.Close()调用File结构体里的C…
源:YxdJSON - Delphi 高性能 JSON 库(支持RTTI和序列化操作) Delphi 高性能 JSON 库(支持RTTI和序列化操作) 支持平台: Windows, Android, iOS, Mac OS https://github.com/yangyxd/YxdJson…