2012-06-12 23 views
9

Tôi muốn viết một ứng dụng web socket trong javascript và máy chủ socket web bằng ruby.Tham chiếu cho ổ cắm web học tập

Tôi sẽ bắt đầu từ đâu? có bất kỳ thư viện hiện có nào để giảm công việc của tôi không?

Tôi bị lạc và lúng túng. Vui lòng cung cấp bất kỳ liên kết nào để bắt đầu, với kiến ​​thức về ruby, javascript, mạng cơ bản trong ruby.

+1

bạn có thể bắt đầu bằng cách googling xung quanh. trở lại khi bạn nhấn một bức tường với mã của bạn. – Joseph

+3

http://socket.io/ có thể là khởi đầu. Mặc dù nó hoạt động với node.js. – intellidiot

+0

@intellidiot thnx – pahnin

Trả lời

2

tôi hiện đang sử dụng 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 
} 

để biết thêm thấy thread khác về ruby & websocket:

+1

cũng tôi tìm thấy bài viết này http://www.igvita.com/2009/12/22/ruby-websockets-tcp-for-the-browser/ về em-websocket – pahnin

-1

Như @intellidiot đã nói, node.js có thể là thư viện bạn đang tìm kiếm.

Đó mẫu mã từ trang đầu tiên của họ sẽ cho bạn biết thời tiết đó là giá trị đào sâu vào nó:

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

Xem trang web và doc của họ. Bạn cũng có thể tìm kiếm tại đây.


Edit:

Tất nhiên mẫu này chứng tỏ khả năng máy chủ, nhưng từ này, bạn có thể ngoại suy để khả năng của khách hàng liên quan đến cùng một loại đối tượng ...

Đây là một mẫu mã từ socket.io-client README (socket.io-client là gói 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'); 

Hy vọng điều này sẽ giúp làm rõ. Xin lỗi câu trả lời của tôi không đơn giản vì nó đáng lẽ phải ở nơi đầu tiên.

+0

Anh ấy nói: "máy chủ ổ cắm web trong ** ruby ​​**" –

+0

anh ta muốn thực hiện ruby ​​websocket – pylover

+0

Có máy chủ trong ruby ​​không nằm trong javascript – pahnin