40行代码聊天室,golang服务端

fanux · · 4126 次点击 · 开始浏览    置顶
这是一个创建于 的主题,其中的信息可能已经有所发展或是发生改变。
今天看到一个非常棒的及时通信的项目,分享给大家 服务端:[lhttp](https://github.com/fanux/lhttp) 40行代码聊天室[demo](https://github.com/fanux/lhttp-web-demo) 基本上写一个聊天室服务端一行代码不用写,客户端写极少量的代码就可以了。 比较值得一提的是作者的想法非常好,通信协议有点类似http协议,这样可扩展性就比较好,整个服务端都可以轻松定制的,作者实现和一些非常重要的首部过滤器,如订阅和发布。 如果说http协议是定位资源的,那lhttp最大的用处就是传输命令。是基于websocket协议的。 最让我喜欢的是订阅与发布,如: 通过websocket发送这样一条字符串: "LHTTP/1.0 command\r\nsubscribe:channel_test\r\n\r\n" 就代表这个链接订阅了channel_test通道,假设又有其他客户端发送了这样一条字符串: "LHTTP/1.0 command\r\npublish:channel_test\r\n\r\nhello" 这样订阅都就能收到这条消息,消息体是hello。 这里的command和http的url很像,服务端可以根据命令注册处理器处理这个命令。客户端也可以类似处理,如命令可以是 chat(聊天) enter_group(加入讨论组) add_friend(添加好友)等等,非常灵活。 还支持一些代理等特性,我就不多说了,大家自己去研究共同学习

有疑问加站长微信联系(非本文作者)

入群交流(和以上内容无关):加入Go大咖交流群,或添加微信:liuxiaoyan-s 备注:入群;或加QQ群:1006366459

4126 次点击  ∙  2 赞  
加入收藏 微博
2 回复  |  直到 2018-02-22 13:41:04
暂无回复
添加一条新回复 (您需要 登录 后才能回复 没有账号 ?)
  • 请尽量让自己的回复能够对别人有帮助
  • 支持 Markdown 格式, **粗体**、~~删除线~~、`单行代码`
  • 支持 @ 本站用户;支持表情(输入 : 提示),见 Emoji cheat sheet
  • 图片支持拖拽、截图粘贴等方式上传