读书人

EventMachine兑现简单的服务器和客户端

发布时间: 2012-11-09 10:18:48 作者: rapoo

EventMachine实现简单的服务器和客户端

EventMachine是一个为ruby提供的事件驱动模型网络编程库, 就像Twisted和Python一样. 可以很容易的实现一个服务器和客户端通信的例子.

?

1. 首先安装eventmachine

gem install eventmachine

?

2. 创建一个服务器

#!/usr/bin/env rubyrequire ‘rubygems’require ‘eventmachine’module EchoServer    def receive_data(data)    send_data(data)  endendEventMachine::run do  host = ’0.0.0.0′  port = 8080  EventMachine::start_server host, port, EchoServer  puts "Started EchoServer on #{host}:#{port}…"end

?

3. 创建一个客户端

#!/usr/bin/env rubyrequire ‘rubygems’require ‘eventmachine’module HttpHeaders   def post_init    send_data "GET /\r\n\r\n"    @data = ""  end    def receive_data(data)    @data << data  end    def unbind    if @data =~ /[\n][\r]*[\n]/m      $`.each {|line| puts ">>> #{line}" }    end        EventMachine::stop_event_loop  endendEventMachine::run do  EventMachine::connect ‘127.0.0.1’, 8080, HttpHeadersend
?

读书人网 >编程

热点推荐