eventmachine网络学习
2013年9月24日 21:10
EventMachine是Ruby一个基于Reactor设计模式的、用于网络编程和并发编程的事件驱动框架。
EventMachine的rdoc写的很详细,EventMachine可以处理任何协议,一些基本的协议已经实现,非常适合做服务器开发。
require 'eventmachine' class Echo < EM::Connection def receive_data(data) send_data(data) end end EM.run do EM.start_server("0.0.0.0", 10000, Echo) end
主要有4个回调方法:
- post_init 在实例初始化的时候调用
- connection_completed 在连接建立后调用
- receive_data(data) 当接收到客户端的数据时调用,数据以chunk的到达,需要自己负责处理
- unbind 当客户端断开连接后调用
作为一个练习,掌握eventmachine的基本用法,这里是一个很好的例子。