1.怎麼防止socket.io請求被抓包
2.為何我的socket.io的請求是這樣的兩個請求一個是post、一個get,一個幾十毫秒,一個一秒多
3.有做過聊天室的師兄可以私聊,帶酬勞
4.socket叢集相關和斷線重連機制,看了很多文章暫時弄了一個單台多節點搭配ip_hash、nginx負載的服務,還沒有壓力測試,伺服器配置是4核8g記憶體的。
5.市面上很多的直播app,直播間聊天室有用php workerman 也有nodejs的socketio的,市面上各個平台的技術感覺差不多,一線的最佳化和高並發做的比較強大。
回複內容:
1.怎麼防止socket.io請求被抓包
2.為何我的socket.io的請求是這樣的兩個請求一個是post、一個get,一個幾十毫秒,一個一秒多
3.有做過聊天室的師兄可以私聊,帶酬勞
4.socket叢集相關和斷線重連機制,看了很多文章暫時弄了一個單台多節點搭配ip_hash、nginx負載的服務,還沒有壓力測試,伺服器配置是4核8g記憶體的。
5.市面上很多的直播app,直播間聊天室有用php workerman 也有nodejs的socketio的,市面上各個平台的技術感覺差不多,一線的最佳化和高並發做的比較強大。
首先要明確一個問題。談到【高並發】和典型【C10K】的問題時。跳出程式看問題。
世界NO.1的開發語言,給你台128M記憶體的VPS你該慢還是要慢。
世界NO.1配置的伺服器,給你128kbps的出口頻寬,你該慢還是慢。
然後回答問題。
1.怎麼防止socket.io請求被抓包
無解,只要有網路請求就能被抓包。你唯一能做的是把包加密。新問題,如何防止解密。無解,加密的逆向過程叫解密,有加密是一定有解密的演算法的,如果你用HTTPS只能防止中間人,並不能防止本機使用者抓包。另外一個如果用私人化的協議,抱歉,還是不行,因為你用socket.io必然是web型應用?那所有的加密的操作包括密碼編譯演算法是否也是在網頁裡公開了?
結論:儘可能的增加抓包、解密的成本讓抓包、嘗試解密者投入大於產出。誰還會去解你。
2.為何我的socket.io的請求.....
不知道你的js怎麼寫的。要不就是你測試使用的瀏覽器不支援websocket,你這是socket.io的LONGPOLL模式。瀏覽器不支援websocket的情景下首先考慮flash代理,不支援flash只能使用longpoll模式(具體名詞百度)
4.socket叢集相關和斷線重連機制
代碼邏輯層面的問題。最簡單的前端一個haproxy或nginx抗。反代到多台backend。中間有Gateway或其他邏輯處理儲存各個用戶端的串連。斷開後刪除。給用戶端發送訊息先找到用戶端串連哪個server然後命令server發出資料。
5.市面上很多的直播app,直播間聊天室有用php workerman 也有nodejs的socketio......
視頻流媒體不僅僅是語言和技術層面的問題了。有專業的RTMP解決方案現成的開源解決方案遍地都是,貴在哪個穩定罷了。nodejs/php目前也就做做彈幕和即時聊天罷了。真正用nodejs/php處理即時視頻流媒體資料的,恕我孤陋寡聞,目前沒見過。