【问题标题】:Reference for learning web socket [closed]学习web socket的参考[关闭]
【发布时间】:2012-06-15 00:38:06
【问题描述】:

我想用javascript写一个web socket客户端,用ruby写一个web socket服务器。

我应该从哪里开始?是否有任何现有的库可以减少我的工作量?

我在谷歌搜索中迷失了方向。请提供任何从哪里开始的链接,因为他们了解 ruby​​、javascript、ruby 中的基本网络。

【问题讨论】:

标签: javascript jquery ruby sockets websocket


【解决方案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');

希望这有助于澄清。抱歉,我的回答并不像一开始那么简单。

【讨论】:

  • 他说:“ruby中的web socket server”
  • 他想要 ruby​​ websocket 实现
  • 是 ruby​​ 中的服务器,而不是 javascript 中的服务器
  • 我当然应该在我的回答中更明确地说明 在我看来,您可以使用套接字创建服务器的 JavaScript 库肯定是一个您也可以使用套接字来创建客户端。看看这个node.js + socket.io tutorial 的代码示例,它更明确地喊出“这就是你想要的”。将更新我的答案以使其更加明显。
  • @pahnin 使用客户端 node.js 代码示例编辑了我的答案
【解决方案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 的帖子:

【讨论】:

猜你喜欢
  • 2012-10-02
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2010-09-12
  • 1970-01-01
相关资源
最近更新 更多