博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
skynet学习一
阅读量:6183 次
发布时间:2019-06-21

本文共 1158 字,大约阅读时间需要 3 分钟。

hot3.png

    利用工作之余,自己尝试学习一下游戏服务端开发, 由于之前主要使用quick-cocos,所以对lua还比较熟悉,外加师傅的推荐,决定学习下云风大神的skynet服务端框架。

    skynet的git地址:

    参照readme,需要先编译

    在框架根目录运行:make 设备名 由于我的是mac环境,输入make macosx 具体的设备名在readme中有写

    编译完成之后就可以试着运行例子了,首先启动服务器,skynet服务启动的时候需要传入config文件,config文件为服务启动时的一些参数设置,具体每个参数的含义skynet的wiki文档上有:

    https://github.com/cloudwu/skynet/wiki/Config

用终端在skynet目录下运行./skynet confg文件地址 例如:./skynet examples/config 就启动了skynet的服务端程序,

之后再启动例子里面的客户端:./3rd/lua/lua examples/client.lua 就可以看到客户端和服务端的连接成功了。

以下是自己写的一段服务端测试代码:

local skynet = require("skynet")local socket = require("socket")skynet.start(function ()	local id = socket.listen("0.0.0.0",8888)	socket.start(id,function(id,address)		print("我是服务端,我接收到了你的请求")		print("id:" .. id)		print("address:" .. address)		socket.start(id)		print("你的请求的package内容为:" .. socket.read(id))	end)end)

下面是客户端代码:(其中需要lua文件路径根据目录不同自行更改)

package.cpath = "luaclib/?.so"package.path = "lualib/?.lua;examples/?.lua"local socket = require("clientsocket")local fd = assert(socket.connect("127.0.0.1", 8888))socket.send(fd, "hello world")

将config中的start参数改为自己服务端代码的lua文件名,就可以通过skynet命令启动服务了,之后再通过lua命令启动客户端就可以调试了。

转载于:https://my.oschina.net/fantasyTianyu/blog/524604

你可能感兴趣的文章
高并发面试总结
查看>>
Pycharm--Python文件开头自动添加utf-8编码
查看>>
Leetcode PHP题解--D60 824. Goat Latin
查看>>
2019年一线大厂春招:Spring面试题和答案合集(上篇)
查看>>
尚未弄懂的JS系列(未完待续)
查看>>
浅析Java NIO
查看>>
企业级 SpringBoot 教程 (一)构建第一个SpringBoot工程
查看>>
学习云计算技术前景在哪里?云计算技术发展趋势
查看>>
干货|比特币如何产生与交易
查看>>
前端处理后端接口传递过来的图片文件
查看>>
react中的可控组件与非可控组件
查看>>
Android基础—四大组件之Activity
查看>>
Nginx 学习笔记
查看>>
你为什么选择程序员这个职业?
查看>>
[译] 用于 iOS 的 ML Kit 教程:识别图像中的文字
查看>>
有关https的SSL加密方式
查看>>
ES6的开发环境搭建
查看>>
iOS JSON、XML解析技巧
查看>>
Android下InputStream发生网络中断时的解决办法的代码
查看>>
8 jQuery学习笔记第八节 Jq的效果之自定义动画
查看>>