在对登录功能要求模糊的情况下,直接使用skynet的登录流程,可以保证基本的安全性。
在对登录功能要求模糊的情况下,直接使用skynet的登录流程,可以保证基本的安全性。
skynet响应消息 skynet要使用完整消息可以使用skynet的网关服务器,做一些简单的封装,就可以收到完整消息包 skynet的约定格式是大端序2字节表示数据长度,后端是数据buf, 网关服务器会调用分包代码根据上面的规则分出完整包给逻辑层 下面是代码片段 local handler = {} local agents = {} function handler.connect(...
对于第一种模式,用 skynet 的 Socket API 很容易实现,但如果在一个 coroutine 中读写一个 socket 的话,由于读的过程是阻塞的,这会导致吞吐量下降(前一个回应没有收到时,无法发送下一个请求)。 对于第二种模式,需要用 skynet.fork 开启一个新线程来收取回应包,并自行和请求对应起来,实现比较繁琐。 所以、s...
Typetype=typeof(T);FieldInfofieldInfo=type.GetField("HashID",BindingFlags.Static|BindingFlags.Public);ulonghashid=(ulong)fieldInfo.GetValue(null); Demo截图 github地址 xieliujian/unity_skynet_sample_3github.com/xieliujian/unity_skynet_sample_3...
skynet是云风大神创建的开源服务器框架,使用C和Lua结合的技术搭建的基于Actor模式的引擎。这里不会拓展讲解skynet的技术细节,有兴趣的可以去看下我同事对于skynet的源码赏析。 回到刚才SProto的问题上来,Skynet本来是支持PB(proto buffer)的。但是只支持2.X的版本,并且已经不再维护了。出于优化的目的,skynet使用了一...
用skynet 实现 unity 的 cache server 我们公司的一些 Unity 项目,当 cache server 的数据上涨到几百 G 后,经常遇到问题。最近一次是 nodejs 内存使用太多导致进程挂掉。 我不太想的明白,一个几乎不需要在内存中保留什么状态的服务,为啥会吃掉那么多内存。简单看了一下cache server 的官方实现感觉实现的挺糟糕的...
Unity游戏云服务器 skynet配置文件 摘要:启动skynet需要一个配置文件 我们看下examples/config root = "./" 表示根目录是skynet启动时的目录thread = 8 启动的工作线程数logger = nil 它决定了 skynet 内建的 skynet_error 这个 C API 将信息输出到什么文件中。如...
skynet是云风大神创建的开源服务器框架,使用C和Lua结合的技术搭建的基于Actor模式的引擎。这里不会拓展讲解skynet的技术细节,有兴趣的可以去看下我同事对于skynet的源码赏析。 回到刚才SProto的问题上来,Skynet本来是支持PB(proto buffer)的。但是只支持2.X的版本,并且已经不再维护了。出于优化的目的,skynet使用了一...
Sproto 是谷歌Proto的一个变种,是云风基于SkyNet实现的一种优化格式。之所以选择这个格式是因为SkyNet对Proto的支持只到2.x,并且已经不再维护了。而Sproto更符合目前服务器在Lua端的性能表现。为了配合服务器的通信协议格式,客户端也选择使用Sproto。 详细的内容以及扩展阅读可以参照技术选型文章里的Sproto部分。