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. docker - 如何修改運行中容器的配置2. javascript - log4js的使用問題3. angular.js - angular ng-class里面的引號問題4. javascript - Web微信聊天輸入框解決方案5. javascript - 移動端textarea不能上下滑動,該怎么解決?6. javascript - 為什么這個點擊事件需要點擊兩次才有效果7. css - 對于類選擇器使用的問題8. javascript - 音頻加載問題9. javascript - Ajax加載Json時,移動端頁面向左上角縮小一截兒,加載完成后才正常顯示,這該如何解決?10. javascript - 有沒有什么好的圖片懶加載的插件,需要包含監聽頁面滾動高度,然后再加載的功能
