HTML5 Web Socket 服务器/客户端的Ruby实现 - web-socket-ruby

jopen 7年前

这是一个采用Ruby实现的HTML5 Web Socket 服务器/客户端。

* 如何运行示例    - Run sample Web Socket server (echo server) with:    $ ruby samples/echo_server.rb localhost 10081    - Run sample Web Socket client and type something:    $ ruby samples/stdio_client.rb ws://localhost:10081    Ready    hoge    Sent: "hoge"    Received: "hoge"      * 使用示例    服务器:      # Runs the server at port 10081. It allows connections whose origin is example.com.    server = WebSocketServer.new(:port => 10081, :accepted_domains => ["example.com"])    server.run() do |ws|      # The block is called for each connection.      # Checks requested path.      if ws.path == "/"        # Call ws.handshake() without argument first.        ws.handshake()        # Receives one message from the client as String.        while data = ws.receive()          puts(data)          # Sends the message to the client.          ws.send(data)        end      else        # You can call ws.handshake() with argument to return error status.        ws.handshake("404 Not Found")      end    end    客户端:      # Connects to Web Socket server at host example.com port 10081.    client = WebSocket.new("ws://example.com:10081/")    # Sends a message to the server.    client.send("Hello")    # Receives a message from the server.    data = client.receive()    puts(data)      * 提示: JavaScript 客户端实现    Google Chrome Dev Channel 原生支持 Web Socket. 对于其它浏览器,你可以使用一个Flash实现代替:http://github.com/gimite/web-socket-js/tree/master

项目主页:http://www.open-open.com/lib/view/home/1338512080995