我很困惑。我想了解Websockets是如何工作的,並且已經在node.js和客戶端中構建了一個服務器。 我無法理解的是,Websocket如何發送數據。 在從客戶端(瀏覽器)發送數據之前,數據base64是否已編碼? 'binarytype'是如何工作的?僅用於接收?Websocket base64,二進制類型
我也必須在服務器上實現這些嗎? 服務器端需要'binarytype'選項嗎?
我什麼時候需要blob和arraybuffer?取決於小型和大型數據? 什麼是如果獲得視頻和音頻文件?
我就如何圖片應該在網絡發送一看,我發現 很經常的解決方案,該圖像是base64編碼,之後發送。 但是,如果在瀏覽器中的WebSocket API已編碼的二進制文件爲Base64,我也不會做這個..
對不起,我很迷茫,希望有人能幫助我
謝謝你的回答。但是我正在編寫我自己的libray,並想了解它是如何工作的。我知道幀被髮送,但是如何將數據放入該幀?編碼中會發生什麼? – benu
查看[WebSocketOutputStream.write(WebSocketFrame)]的實現(https://github.com/TakahikoKawasaki/nv-websocket-client/blob/master/src/main/java/com/neovisionaries/ws/client/WebSocketOutputStream。 java#L41)在[nv-websocket-client](https://github.com/TakahikoKawasaki/nv-websocket-client)中,你可以理解數據是如何打包成幀的。請注意,當幀從客戶端發送到服務器時,有效載荷部分必須被屏蔽,並且不得處於相反的方向。請參閱RFC 6455 [5.3。客戶端到服務器屏蔽](https://tools.ietf.org/html/rfc6455#section-5.3)瞭解詳細信息。 –
我現在明白數據是如何發送的。但這不是我想要的。你能解釋一下'binarytype'選項是什麼嗎?當客戶端瀏覽器API設置爲「blob」並且傳入消息包含一個arraybuffer時,它是否會更改傳入消息的實體?還是隻是一個願望,它是如何(傳入的消息)首選?服務器如何知道在瀏覽器中客戶端設置的'binarytype'選項是什麼? – benu