学习Web套接字的参考

时间:2012-06-12 06:19:28

标签: javascript jquery ruby sockets websocket

我想在ruby中的javascript和web套接字服务器中编写一个Web套接字客户端。

我应该从哪里开始?有没有现有的图书馆来减少我的工作?

我迷失了,谷歌混淆了谷歌。请提供任何从哪里开始的链接,因为它具有红宝石,javascript,ruby基本网络方面的知识。

2 个答案:

答案 0 :(得分:2)

我目前正在使用em-websocket

EventMachine.run {

    EventMachine::WebSocket.start(:host => "0.0.0.0", :port => 8080) do |ws|
        ws.onopen {
          puts "WebSocket connection open"

          # publish message to the client
          ws.send "Hello Client"
        }

        ws.onclose { puts "Connection closed" }
        ws.onmessage { |msg|
          puts "Recieved message: #{msg}"
          ws.send "Pong: #{msg}"
        }
    end
}

有关详细信息,请参阅有关ruby & websocket的其他主题:

答案 1 :(得分:-1)

正如@intellidiot所说,node.js可能是您正在寻找的图书馆。

来自头版的代码示例会告诉你,值得深入研究它:

 /* 
  *     Here is an example of a simple TCP server 
  *     which listens on port 1337 
  *     and echoes whatever you send it: 
  */

var net = require('net');

var server = net.createServer(function (socket) {
  socket.write('Echo server\r\n');
  socket.pipe(socket);
});

server.listen(1337, '127.0.0.1');

查看他们的网站和文档。您也可以在此处查找


修改:

当然,此示例演示了服务器功能,但是您可以从中推断出涉及相同类型对象的客户端功能......

以下是socket.io-client README的代码示例(socket.io-client是node.js包):

/*
 *    And now for the requested CLIENT code sample ;-)
 */

var socket = io.connect('http://domain.com');
socket.on('connect', function () {
    // socket connected
});
socket.on('custom event', function () {
    // server emitted a custom event
});
socket.on('disconnect', function () {
    // socket disconnected
});
socket.send('hi there');

希望这有助于澄清。对不起,我的回答并不像它本来应该的那样简单。