1. 前言看到这个服务框架,是真的轻量,代码极简但包含了服务端的核心,能很容易帮助新手理解服务框架做了什么。当然最主要还是作者写的渐进式开发文档,实在是极好。这篇文章不会详细的说这个项目的源码,这个直接看作者的文档和源码就行,这篇文章主要是借助这个框架总结一个tcp服务端的核心功能。2. 一个TCP服务的核心功能2.1 处理连接一个TCP服务端要给客户端提供功能,首先得与客户端建立连接。学过网
本文旨在讲述 RPC 框架设计中的几个核心问题及其解决方法,并基于 Golang 反射技术,构建了一个简易的 RPC 框架。RPCRPC(Remote Procedure Call),即远程过程调用,可以理解成,服务 A 想调用不在同一内存空间的服务 B 的函数,由于不在一个内存空间,不能直接调用,需要通过网络来表达调用的语义和传达调用的数据。服务端RPC 服务端需要解决 2 个问题:由于客户端传
介绍Nano 是什么?轻量级,方便,高性能 golang 的游戏服务器框架。nano 是一个轻量级的服务器框架,它最适合的应用领域是网页游戏、社交游戏、移动游戏的服务端。当然还不仅仅是游戏,用 nano 开发高实时 web 应用也非常合适。最重要的是可以通过这个入门 Golang 游戏服务器框架开发示例仓库[cloud-nati
2016年底的时候对即时通讯以及游戏开发产生了一些兴趣,而且自己这方面的知识掌握也非常少,在未来很多产品应该都会使用到长连接技术(物联网IOT),因此很有必要掌握这方面的技术。于是就在网络上查询相关的资料,但发现目前网络上的开源游戏服务器框架相对较少,而目前市面上已有的一些开源游戏框架又不太对自己的胃口。正好17年初刚回公司的时候事情比较少,就抽时间按照自己对游戏服务器的架构思路做了一套,取名
Leaf 是一个由 Go 语言(golang)编写的开发效率和执行效率并重的开源游戏服务器框架。Leaf 适用于各类游戏服
转载 2018-12-10 11:03:00
189阅读
2评论
Leaf 是一个由 Go 语言(golang)编写的开发效率和执行效率并重的开源游戏服务器框架。Leaf 适用于各类游戏服务器的开发
转载 2022-12-27 10:27:57
3610阅读
使用Golang 搭建http web服务器需求1 登陆页面2 首页路由处理页面404处理登陆页面处理ajax处理如何设置header:如何解析参数:如何连接数据库如何设置cookie主页处理后记 Golang在搭建web服务器方面的能力是毋庸置疑的。官方已经有提供net/http包为搭建http服务器做准备。使用这个包能很简单地对web的路由,静态文件,模版,cookie等数据进行设
转载 2024-03-18 06:58:41
41阅读
golang 视频服务器package mainimport ( "fmt" "io/ioutil" "log" "net/ht
原创 2022-12-21 10:26:22
165阅读
,笔者从零开始接触Go语言,挑战了一下自我,实现了一个web service. 不过这里有一个问题,在上次的实现中,用了一些第三方的库,比如beego框架和go-simplejson. 从工程的角度来说,利用框架等第三方库的优点是,很多地方的编码变得简单,代码量较少;但是缺点是:一、对golang本身built-in的库如net/http和encoding/json都还了解得很不够;二、一旦第三方
转载 2023-07-25 16:20:41
83阅读
如何用golang搭建一个web服务呢?菜鸟官网的go web编程教程已经介绍了web服务器的工作原理,这里就不赘述了。我们先看个例子:http.gopackage main import ( "fmt" "io" "log" "net/http" ) func main() { http.HandleFunc("/test", doRequest)
GoFrame 主要以工程化和企业级方向为主,特别是模块化设计和工程化设计思想非常棒。针对业务项目而言,提供了开发规范、项目规范、命名规范、设计模式、开发工具链、丰富的模块、高质量代码和文档,社区活跃。作者也是资深的PHP开发者,PHP转Go的小伙伴会倍感亲切。您可以将GoFrame类似于PHP中的Laravel, Java中的SpringBoot或者Python中的Django。方式一:mod安
golang中使用的http协议版本是RFC2616对于一个http服务来讲,需要兼容新旧版本的http协议,http1.0/2.0,以及https的支持,http的通信是建立在tcp连接基础上的通信。现在协议有了,连接通信也有了,还剩一个问题就是如何处理client request请求,这个问题可以分为路由和具体逻辑实现,下面看看在golang中是如何解决这些问题的。 路由部分&nbs
一、Call to undefined function imagecreatefrompng():LAMP环境搭建的博客,在提交内容的时候TP5框架报了一个错误,Call to undefined function imagecreatefrompng();  出现这个问题一般都是GD库未正确安装或配置,在服务器上查询是否安装输入命令:php -m grep -i gd并没有
Tornado 是可扩展的非阻塞式WEB服务器及其相关工具的开源版本。 Tornado 和想在的主流web服务器框架区别:它是非阻塞式服务器,而且速度相当快。得力于非阻塞式方式和对epoll的运用。tornado 每秒可以处理千计的连接。一:安装1 pip install tornado 2 源码安装:https://pypi.python.org/packages/source/t/tornad
转载 2023-06-05 20:40:28
297阅读
package mainimport ( "encoding/json" "fmt" "net/http"
原创 2022-06-20 19:47:28
47阅读
package mainimport ( "fmt" "io/ioutil" "log" "net/http" "os" "path/filepath" "time")func DownloadPdf(tsid int) ([
原创 2022-12-21 10:33:27
206阅读
作者近期在写一个项目时遇到了这样的需求:调用一个库API函数,函数内部又会拉起若干个后台goroutine。这时后台goroutine如果遇到错误想要及时通知库的使用者将不会是一件容易的事情,因为这是一个异步通知error的方法。作者最终的解决方案概括为:使用者另启一个goroutine监听Err channel,库后台goroutine出现的错误将直接发送至Err channel中。作者以自己项
## 从零开始,将Golang应用部署到服务器 ### 简介 在本文中,我们将教你如何将一个简单的Golang应用部署到服务器上。在本教程中,我们将使用Kubernetes(K8S)进行部署。Kubernetes是一种开源的容器编排引擎,用于自动化容器的部署、扩展和操作。在本文中,我们将展示如何使用Kubernetes将Golang应用部署到服务器上。 ### 步骤概述 下面是部署Golang
原创 2024-05-07 11:34:21
102阅读
多线程+同步阻塞模型在我们的游戏项目中使用的golang服务器开发方式如下1.多线程逻辑2.同步阻塞. 也就是说, 每个人一个线程(goroutine), io线程=逻辑线程这种方式的优点:1. 同步阻塞方式与人的思维方式类同2. 逻辑处理性能有一定提升在大规模使用这种模式编写逻辑后, 我们发现了这种模式只有1个缺点: 编写者需要处理多线程关系但这本身确实直接致命的, 回想C++时代, 多线程处理
本章主要说明服务器框架构成,有参考网狐服务器框架,仅记录自己想法,勿喷。。一、登陆服务器,主要实现玩家账号注册,登陆,验证等功能。二、大厅服务器,当玩家登陆验证通过之后,考虑到一些数据需要跟玩家实时的交互,比如邮件,比赛倒计时,聊天,公告,以及活动倒计时等,需要一个跟客户端长链接的服务器,即登陆上的玩家,都会链接到大厅服务器三、工具服务器,游戏UI会有很多功能,比如修改昵称,签到,完成任务等;这些
  • 1
  • 2
  • 3
  • 4
  • 5