2012-06-12 20 views
9

Quiero escribir un cliente de socket web en javascript y servidor de socket web en ruby.Referencia para aprender socket web

¿Dónde debo comenzar? ¿Hay alguna biblioteca existente para reducir mi trabajo?

Estoy perdido y confundido en Google. Proporcione cualquier enlace donde comenzar, dado que tiene conocimientos sobre ruby, javascript, redes básicas en ruby.

+1

puede empezar por alrededor de google. vuelve cuando golpeas una pared con tu código. – Joseph

+3

http://socket.io/ puede ser un comienzo. Aunque funciona con node.js. – intellidiot

+0

@intellidiot thnx – pahnin

Respuesta

2

actualmente i usando 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 
} 

para obtener más información ver otro hilo sobre ruby & websocket:

+1

También encontré este artículo http://www.igvita.com/2009/12/22/ruby-websockets-tcp-for-the-browser/ about em-websocket – pahnin

-1

Como @intellidiot dijo, node.js podría ser la biblioteca que está buscando.

Ese ejemplo de código de su primera página le dirá Ya sea que vale la pena excavar en él:

/* 
    *  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'); 

Ver su página web y doc. También puede buscar aquí.


Editar:

Por supuesto, este ejemplo muestra las capacidades del servidor, pero a partir de esto se puede extrapolar a las capacidades del cliente relacionados con el mismo tipo de objetos ...

Aquí está un ejemplo de código del socket.io-client README (socket.io-client es un paquete 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'); 

Espero que esto ayude a aclarar. Lo siento, mi respuesta no fue tan directa como debería haber sido en primer lugar.

+0

Dijo: "web socket server en ** ruby ​​**" –

+0

él quiere ruby ​​websocket implementación – pylover

+0

Sí servidor en ruby ​​no en javascript – pahnin