javascript - socket.io connect中url帶目錄的問題
問題描述
使用socket.io 來實現websocket,現在后端的鏈接是這樣的:ws://103.31.201.1/some,通過nginx代理來去掉url中的非80端口(小程序不允許帶端口,你懂的),但是實際請求中,socket.io總是把/some去掉,請求都發到ws://103.31.201.1下面去了,請問這種問題怎么處理?
var socket = io.connect(’ws://103.31.201.1/some’)socket.on(’even_name’,function(data){ console.log(data);})
發出去的請求URL變成:
http://103.31.201.1/socket.io/?EIO=3&transport=polling&t=1492593587367-0
url中并沒有/some 這樣的目錄路徑,導致socket連接不上
補充:已完美解決:
var socket = io.connect(’ws://103.31.201.1’, {path: ’/some/socket.io’})socket.on(’even_name’,function(data){ console.log(data);})
默認情況下path是指向/socket.io,可以預設path來增加目錄
問題解答
回答1:你好,我遇到了你之前發的這個問題,根據你的解決方案配置了path之后,在nginx的access日志中發現請求返回狀態碼是400,你知道是怎么回事嗎/q/10... socket.io connect中url帶目錄的問題
相關文章:
1. 數組按鍵值封裝!2. java - web項目中,用戶登陸信息存儲在session中好 還是cookie中好,取決于什么?3. angular.js - webpack build后的angularjs路由跳轉問題4. mysql - 大部分數據沒有行溢出的text字段是否需要拆表5. mysql federated引擎無法開啟6. mysql 新增用戶 主機名設定 失敗7. 單擊登錄按鈕無反應8. ubuntu - mysql 連接問題9. mysql - 查詢字段做了索引為什么不起效,還有查詢一個月的時候數據都是全部出來的,如果分拆3次的話就沒問題,為什么呢。10. mysql儲存json錯誤
