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