Talk about skynet

skynet是云风发布的一个开源的轻量级服务器框架。底层采用C编写,逻辑层通常用lua,官方版只支持Linux系统。非常适合作为游戏的服务器框架。你只需要从GitHub上clone下来简单的编译一下就可以体验了。

安装和测试在wiki里写的很清楚了,我这里就不说了。需要注意的是要安装两个第三方工具readline-devel和autoconf,每个系统的安装指令不一样,wiki里都有写,我用的是centos命令如下:

yum install -y readline-devel autoconf

原谅我对服务器一无所知,当我把环境都搭好,并且成功启动了第一个服务后我却不知道要怎么让他停下来,也不知道怎么重启,在没停下来时候再次启动服务就会报错,百度了好久也没解决。嗯~糗事就不说了。快捷键command+.就可以了。也可以直接把进程给杀了,Linux查看进程:lsof -I 杀掉进程: kill -9 pid

在test文件夹下面有很多测试例子,如:mysql,socket,http等,你都可以亲自测试一遍。

lua 时间函数os.time()和os.date()

  • os.time()      –获取当前时间的时间戳
  • os.time({year =2016, month = 11, day =23, hour =17, min =17, sec = 00})     –获取指定时间的时间戳
注:任何一个时区,在相同的时间,同时调用os.time() 返回的结果都是一样的
  • os.date()    –把时间戳转化成可显示的时间字符串
  • print(os.date(“%Y–%m–%d %H:%M:%S”))    –获取当前时间戳的时间符串
  • print(os.date(“%Y%m%d %H:%M:%S”,1544084774))    –获取指定时间戳的时间字符串
注:如果服务器返回一个时间戳,客户端想要转换成可读样式,需要考虑到时区问题,因为是按照本地时区转换的,如果本地时区跟服务器所在时区不一致,就会导致时间显示错误,一般解决办法就是 加上时区差即可。
获取时区: tonumber(os.date("%z", 0))/100

Continue reading “lua 时间函数os.time()和os.date()”