怎么使用skynet搭建一个服务器

怎么使用skynet搭建一个服务器,第1张

方法如下: 1.lua-resty-websocket实在太老了,现在已经是lua53的时代了 2.还是喜欢tornado websocket的基于回调的方式,当然我写的既可使用回调方式,也可使用lua-resty-websocket基于直接recv的方式其实解析websocket还是比较简单的,比较复杂点的是websocket 的close操作。和握手一样,close也是需要客户端-服务器端确认的。当客户端->close ->服务端,服务端接收到opcode为8的close事件,服务端发送close frame,然后关闭客户端socket当服务端->close ->客户端,服务器发送close frame,此时客户端得到close事件,客户端接着会主动发送close frame给服务端,服务端接收到opcode为8的close事件,关闭客户端socket。这里需要注意,如果用js 的话,var ws = new WebSocket('XXXX'),在onclose事件中不需要主动调用ws.close(),底层会帮你调用。

开启 server的用户, 所用到的 cluster 方法:

访问 server的用户,所用到的 cluster 方法:

服务器ip 192.168.1.101 上有文件 main.lua , myserver1.lua , myserver2.lua , clustername.lua 和 config

clustername.lua 文件里面,写下你要开启监听的 cluster 节点

config 里把 clustername.lua 配置一下

下面是 main.lua

myserver1.lua 如下

myserver2.lua 如下

这两个server区别就是 CMD.func 的名字,里面的 print 和 return 的字符串.

服务器ip 192.168.1.102 上有文件 main.lua , clustername.lua 和 config

clustername 文件里面,写下你访问的 cluster 节点

config 里把 clustername.lua 配置一下

main.lua

上面三种方式里,需要注意的是 cluster.query 时, cluster.register 过的名字,在被使用时,是不用加 @ 符号的.

在 cluster.proxy 里如果不用 cluster.query 出来的地址,那么填写 cluster.register 过的名字时,是需要加 @ 符号的. 包括 cluster.call/send 第二参数也要加 @ 符号.

如果本文有什么问题,请留言,谢谢.


欢迎分享,转载请注明来源:夏雨云

原文地址:https://www.xiayuyun.com/zonghe/531943.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-06-23
下一篇2023-06-23

发表评论

登录后才能评论

评论列表(0条)

    保存