我在軌道上使用EventMachine和ruby構建聊天系統。這是爲了學習的目的。EventMachine:如何使用Rails應用程序構建聊天系統
這是客戶端連接到服務器的方式。
c = TCPSocket.open(ip_address, port)
data = {:user_id => 2, :message => 'hello world'}
c.send(data)
response = c.gets
c.close
它的工作原理。然而,問題在於我無法獲得正在聊天室中的人員列表,因爲如上所示,客戶端不斷打開和關閉連接。
另一種方案是爲每個連接的用戶運行EventMachine客戶端。我打算爲每個用戶在會話中存儲客戶端連接。這樣我就會爲每個用戶使用相同的問題。當用戶註銷時,我將關閉連接。
但是,如果用戶走出來,我該如何自我關閉客戶端連接。
任何想法。
劍聖只支持帶有xml套接字和rails2的flash。你對那些想要使用websockets和rails3的人有什麼建議嗎? – Hackeron 2011-01-23 06:04:28
我用EventMachine的[em-websocket]庫(https://github.com/igrigorik/em-websocket)庫取得了一些成功,但你必須在自己的方法中分層調用客戶端。 – tadman 2011-01-24 17:07:54