最近在关注云风大神基于C+Lua写的Skynet网络框架!采用单进程多线程的Actor并发模型,每个Actor都可以理解成一个服务(协程),服务之间的通信也是采用消息传递的机制与golang、erlang很像。
但是由于大神们的境界太高并且手册、文档较少,所以对初学者来说确实有点难入门。基本只能在目录下的examples与test目录下看实例源码,参考后走出第一步。
local skynet = require "skynet"
local socket = require "socket"
skynet.start(
function()
skynet.newservice("debug_console",8000)
local id = socket.listen("192.168.1.223", 80)
socket.start(id,function(id,addr)
while id do
socket.start(id)
local data = socket.readline(id)
if data then
socket.write(id,"you say:"..data .."\n")
socket.write(id,"Skynet say:"..data .."\n")
socket.abandon(id)
else
print(addr,"close this session")
socket.close()
return
end
end
end)
end)
下班回家....