2012-06-12 11 views
9

Chcę napisać klienta gniazda sieciowego w javascript i serwerze gniazd internetowych w ruby.Odsyłacz do gniazda sieciowego do nauki

Gdzie mam zacząć? czy istnieją jakieś biblioteki, które ograniczają moją pracę?

Jestem zagubiony i zdezorientowany. Podaj wszelkie linki od czego zacząć, biorąc pod uwagę, że ma wiedzę na temat ruby, javascript, podstawową networking w ruby.

+1

można zacząć od googlowania dookoła. wróć, gdy uderzysz w ścianę swoim kodem. – Joseph

+3

http://socket.io/ może być początkiem. Chociaż działa z node.js. – intellidiot

+0

@intellidiot thnx – pahnin

Odpowiedz

2

I obecnie za pomocą 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 
} 

uzyskać więcej informacji patrz inny wątek o ruby & websocket:

+1

również znalazłem ten artykuł http://www.igvita.com/2009/12/22/ruby-websockets-tcp-for-the-browser/ about em-websocket – pahnin

-1

Jako że @intellidiot powiedział, node.js może być biblioteką, której szukasz.

To przykładowy kod z ich strony przedniej powie pogoda warto kopać do niego:

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

Zobacz ich stronę internetową i doc. Możesz również wyszukać tutaj .


Edit:

Oczywiście ten przykład demonstruje możliwości serwera, ale z tym można ekstrapolować do możliwości klienta z udziałem tego samego rodzaju obiektów ...

Oto przykładowy kod od socket.io-client README (socket.io-client to pakiet 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'); 

Mam nadzieję, że to pomoże wyjaśnić. Niestety, moja odpowiedź nie była tak prosta, jak powinna być w pierwszej kolejności.

+0

Powiedział: "serwer gniazd internetowych w ** ruby ​​**" –

+0

chce wdrożenia ruby ​​websocket – pylover

+0

Tak, serwer w Ruby nie w javascript – pahnin