最初, 我仅仅最只想将silly实现成一个socket异步框架, 每一个socket有数据或事件过来直接将注册的处理函数异步回调即可。
然后, 随着三国杀的一步步实现, 我发现我之前考虑处理时漏掉了数据库环节。
由于所有socket事件均为异步, 当一个client发过来一个请求, 而这个请求需要使用到数据库数据时, 可能就会写出类似下面这样的代码:
socket.recv(fd,function(fd, data)
--process segment1
db.get(key, function(value)
--process segment……