2013-06-25 44 views
19

ws://myserver.com/path?param=1有效的WebSocket地址嗎?WebSocket地址是否可以攜帶參數?

地址http://myserver.com/path?param=1(注意它現在http,而不是ws)正常工作與wscat,但我不能讓它工作在瀏覽器上。

+1

該網址可以是任何。 – dandavis

+0

你爲什麼試圖用'http:'方案訪問一個WebSocket地址? – apsillers

+0

@apsillers我沒有,我很驚訝wscat允許我.. –

回答

22

ws://myserver.com/path?param=1是一個有效的WebSocket URI。但是,您的WebSocket服務器應用程序可以訪問路徑和查詢字符串的方式將因您正在使用的WebSocket服務器框架而異。

如果您使用的是Node.js einaros/ws庫,那麼在您的websocket連接對象中將具有查詢字符串爲upgradeReq.url的完整路徑。

例如:當您連接到ws://myserver.com/path?param=1

wss.on('connection', function(ws) { 
    console.log("url: ", ws.upgradeReq.url); 
}; 

將打印url: /path?param=1

+0

如何在.jsp頁面中傳遞參數? –

+4

只是一個說明:你可以使用['url.parse()] [解析url](http://www.codingdefined.com/2014/11/how-to-parse-urls-in-nodejs.html) '](https://nodejs.org/docs/latest/api/url.html#url_url_parsing) –

+3

update:upgradeReq屬性已被刪除。 請參閱https://github.com/websockets/ws/pull/1099 – Kuofp