2015-01-03 86 views
1

我正在用socket.io編寫一個快速app.js,並遇到了一個問題。
我不知道如何使用路線。 我希望客戶寫下例如localhost:3000/?id=3並根據ID獲取內容。 但在socket.io連接事件,我不知道URL或PARAMS(或者是有什麼辦法?)使用socket.io路由

io.on('connection', function (socket) {/*should be something according to the id in the url*/}); 

,直到如今我只是檢查的ID與

app.get('/', function (req, res) { 
    //req.query.id 
}); 

有人知道繞過這個方法?

謝謝!

回答

0

看起來你可能對如何使用webSockets有點困惑。如果您想發出http請求,例如localhost:3000/?id=3,那麼您不使用webSockets。您在Express中使用正常的路由機制。

創建了一個webSocket連接,然後持續存在。從此,您可以將具有可選數據的消息定義爲這些消息的參數,並且您可以在webSocket上單向發送這些消息。 webSocket消息在現有的webSocket上發送,而不是在URL上發送。如果你願意,你可以創建一個消息來發送從客戶端到服務器的URL。如果是這樣的話,你可以在客戶端執行此操作:

socket.emit("sendURL", url); 

而且,那麼你會監聽服務器上"sendURL"消息。