NATS是一个轻量的消息发布-订阅系统.NATS的核心是Event machine. 项目Server端源代码地址: github.com/nats-io/gnatsd 在auth目录中, multiuser.go plain.go token.go 本文一一记录 multisuer.go // MultiUser Plain authentication is a basic username and password type MultiUser struct { users map[str…
看看Curator框架 为实现对 连接状态ConnectionState的监听,都是怎么构造框架的.后面我们也可以应用到业务的各种监听中. Curator2.13实现 接口 Listener Listener接口,给用户实现stateChange()传入新的状态,用户实现对这新的状态要做什么逻辑处理. public interface ConnectionStateListener { /** * Called when there is a state change in the connec…
Go 1.11 Release Notes Introduction to Go 1.11 Changes to the language Ports WebAssembly RISC-V GOARCH values reserved Tools Modules, package versioning, and dependency management Import path restriction Package loading Build cache requirement Compile…
Go 1.5 Release Notes Introduction to Go 1.5 Changes to the language Map literals The Implementation No more C Compiler and tools Garbage collector Runtime Build Ports Tools Translating Renaming Moving Compiler Assembler Linker Go command Go vet comma…
2017年的第一篇博客,也是第一次写博客,写的不好,请各位见谅. 本人之前一直学习java.java web,最近开始学习Go语言,所以也想了解一下Go语言中web的开发方式以及运行机制. 在<Go web编程>一书第三节中简要的提到了Go语言中http的运行方式,我这里是在这个的基础上更加详细的梳理一下. 这里先提一句,本文中展示的源代码都是在Go安装目录下src/net/http/server.go文件中(除了自己写的实例程序),如果各位还想理解的更详细,可以自己再去研究一下源代码. &l…
一:首先man.go,整个程序的入口 func main() { beego.Run() } 然后beego.run()代码 // Run beego application. // beego.Run() default run on HttpPort // beego.Run(":8089") // beego.Run("127.0.0.1:8089") func Run(params ...string) { if len(params) > 0 &am…
处理请求 Request和Response http Requset和Response的内容包括以下几项: Request or response line Zero or more headers An empty line, followed by - - an optional message body 例如一个http Request: GET /Protocols/rfc2616/rfc2616.html HTTP/1.1 Host: www.w3.org User-Agent: Mo…
参考:https://studygolang.com/pkgdoc 概念解释: request:用户请求的信息,用来解析用户的请求信息,包括post.get.cookie.url等信息 response:服务器返回给客户端的信息 conn:用户的每次请求链接 handler:处理请求和生成返回信息的处理逻辑 该图来自https://www.sohu.com/a/208720509_99960938 下面的内容来自http://www.runoob.com/http/http-messages.h…
一.简介 go语言中的网络编程主要通过net包实现,net包提供了网络I/O接口,包括HTTP.TCP/IP.UDP.域名解析和Unix域socket等.和大多数语言一样go可以使用几行代码便可以启动一个服务器,但是得益于goroutine的配合go实现的服务器拥有强大并发处理能力. 二.socket编程 Socket又称"套接字",应用程序通常通过"套接字"向网络发出请求或者应答网络请求. socket本质上就是在2台网络互通的电脑之间,架设一个通道,两台电脑通过…
其实自己不是很会看源码,但是学习优秀的源码是提升自己代码能力的一种方式,也可以对自己以后写代码有一个很好的影响,所以决定在之后的时间内,要有一个很好的习惯,阅读优秀的源码.刚开始自己会觉得看源码很痛苦,这个和我自己的方法有关系,刚开始自己总是想要知道源码的每一步操作,以及每个部分都是做什么,导致看着看着就看不下去了,所以也是从这次整理开始,调整自己阅读源码的方式,先去源码框架的主要流程,细枝末节后面等对整体框架有个了解,并且很清晰了,再回头来细致看,所以阅读过程中如果有不理解的地方自己先进行跳过…