Ruby实用库功能及使用示例
1. GServer:通用TCP服务器
GServer是一个用于编写TCP服务器的简单框架。使用时,需继承GServer类,在构造函数中设置端口(可能还有其他参数),然后实现serve方法来处理传入的请求。GServer会管理一个线程池来处理传入的连接,因此serve方法可能会在多个线程中并行运行,并且可以在同一个应用程序的不同端口上运行多个GServer实例。
示例代码
require 'gserver' class TimeServer < GServer def initialize super(2000) @count = 3 end def serve(client) client.puts Time.now.to_s @count -= 1 stop if @count.zero? end end server = TimeServer.new server.audit = true # 启用日志记录 server.start server.join测试方法
可以使用telnet命令连接到本地的2000端口来测试该服务器:
telnet localhost 2000运行结果示例:
Trying 127.0.0.1... Connected to localhost. Escape character