skynet学习一

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

    skynet的git地址:https://github.com/cloudwu/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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值