![](/img/trans.png)
[英]Read string received from JavaScript WebSocket using Java InputStreamReader
[英]Read string from ArrayBuffer received via websocket
我正在使用python SimpleWebSocketServer ,修改后的SimpleExample.py
和Chrome。
當我從瀏覽器發送字符串到python時,一切正常,但是當我從python發送字符串到瀏覽器時,我沒有最簡單的想法如何將接收到的ArrayBuffer(或Blob,如果配置)轉換為javascript字符串。
Python代碼:
def handleConnected(self):
with open("roads.txt") as roadsfile:
content = "" + roadsfile.read()
self.sendMessage(content)
瀏覽器代碼:
function doConnect() {
websocket = new WebSocket("ws://localhost:8000/");
websocket.binaryType = 'arraybuffer';
websocket.onmessage = function(event) { onMessage(event) };
}
function onMessage(event) {
console.log(event.data);
}
記錄的是ArrayBuffer{}
,看起來是空的,我想。
我不知道如何處理這個ArrayBuffer,也不知道如何檢查它的有效性。
順便說一句,來自roads.txt
的文件內容是一長串基於文本的浮點數,類似於.csv,所以如果我可以將它們編碼為實際的二進制數組,那就更好了!
試試這個 - 回到接收消息作為arraybuffer,並應用這樣的東西來創建一個字符串:
function ab2str(buf) {
return String.fromCharCode.apply(null, new Uint16Array(buf));
}
function onMessage(event) {
console.log(ab2str(event.data));
}
假設您正在發送utf-8編碼的字符串。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.