我想用javascript编写一个web socket客户端,用ruby编写一个web socket服务器。
我该从哪里开始?是否有任何现有的图书馆可以减少我的工作?
我迷路了,很困惑谷歌搜索。请提供任何从哪里开始的链接,因为他们对 ruby、javascript、ruby 中的基本网络有了解。
我想用javascript编写一个web socket客户端,用ruby编写一个web socket服务器。
我该从哪里开始?是否有任何现有的图书馆可以减少我的工作?
我迷路了,很困惑谷歌搜索。请提供任何从哪里开始的链接,因为他们对 ruby、javascript、ruby 中的基本网络有了解。
我目前使用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的另一个线程:
正如@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');
查看他们的网站和文档。您也可以在此处查找node.js。
编辑 :
当然,此示例演示了服务器功能,但您可以从中推断出涉及相同类型对象的客户端功能......
这是来自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');
希望这有助于澄清。抱歉,我的回答并不像一开始那么简单。