ฉันต้องการสตรีมข้อมูล telemetry แบบสดที่จัดรูปแบบใน JSON จาก websocket ไปยังเบราว์เซอร์โดยใช้ javascript websocket ถูกสร้างขึ้นบนเซิร์ฟเวอร์ X.X.X.X โดยใช้ Native c และ wrapper websocketd บนพอร์ต 8080 ไคลเอนต์ (IP: Y.Y.Y.Y.Y) จะเชื่อมต่อกับเซิร์ฟเวอร์เดียวกันผ่าน https บนพอร์ต 80 (https://X.X.X.X:80) และจะได้รับโค้ด javascript ซึ่งบอกให้ดึงข้อมูลสตรีมสดจาก websocket (ws://X.X.X.X:8080) และรีเฟรชค่าบางค่าใน เว็บไซต์ที่มีค่าจากสตรีมนี้
ข้อมูลสามารถมีลักษณะเช่นนี้ได้อย่างชัดเจน:
{
"name of system": {
"RSSI": {
"rssi": "0",
"adc1": "0.00",
"adc2": "0.00",
"rxBatt": "0.00",
"swr": "0"
},
"ASS": {
"airspeed": "0.00"
}
}
}
{...}
and so on...
เฟรมนี้จะต้องทำซ้ำเช่น ในช่วงเวลา 500 มิลลิวินาที และถูกส่งโดยไม่มีช่องว่างหรืออักขระขึ้นบรรทัดใหม่
ฉันพยายามแยกวิเคราะห์สิ่งนี้แล้วด้วย JSON.parse() แต่คอนโซลเบราว์เซอร์ของฉันส่งคืนข้อผิดพลาดต่อไปนี้: "Uncaught SyntaxError: Unexpected token *" หรือ "Unexpected token {" นี่เป็นเพราะโค้ด JSON ที่ใช้งานไม่ถูกต้อง แม้ว่าฉันจะตรวจสอบหลายครั้งแล้วใช่หรือไม่
คำถามของฉันคือตอนนี้: JSON.parse สามารถถ่ายทอดสดได้จริงหรือไม่ ถ้าไม่ มีห้องสมุดใดบ้างหรือฉันควรเลือกใช้โซลูชันใหม่ทั้งหมดหรือไม่
ขอแสดงความนับถืออย่างสูง
JSON
ที่ถูกต้องในรูปแบบของอาร์เรย์แบบแบน หรือสตรีมUint8Arrays
และอ่านสตรีมอย่างต่อเนื่อง ปัญหาอยู่ที่โครงสร้างข้อมูล และวิธีอ่านสตรีม ไม่ใช่กระบวนการสตรีม - person guest271314   schedule 12.02.2019webSocket.onmessage = function(event){ stats = event.data; data = JSON.parse(event.data);
คุณช่วยยกตัวอย่างโค้ดของอาเรย์แบบแบนได้ไหม ตอนนี้ฉันกำลังสตรีมข้อมูล ASCII ผ่าน websocket ฉันเดาว่านั่นคือปัญหาใช่ไหม - person T.B.   schedule 12.02.2019JSON
ที่ถูกต้องใช่ไหม เหตุใดโครงสร้างข้อมูลวัตถุธรรมดา JavaScript จึงจำเป็น ค่าต่างๆ สามารถสตรีมได้ในขนาดคงที่ สตรีมการแปลงสามารถไพพ์การเขียน (เซิร์ฟเวอร์) ไปยังไคลเอนต์ (อ่าน) - person guest271314   schedule 12.02.2019['0','0.00','0.00','0.00','0','0.00']
อ่านและประมวลผลองค์ประกอบ 6 หรือ N›0-6 ของสตรีมแบบอะซิงโครนัสในแต่ละครั้งเป็นอนุกรมหรือแบบขนาน ทำสิ่งต่าง ๆ หลังจากที่แต่ละองค์ประกอบ 6 อ่าน - person guest271314   schedule 12.02.2019console.log(typeof event.data, event.data instanceof ArrayBuffer, event.data instanceof Blob, new TextDecoder().decode(new Uint8Array(event.data)))
พิมพ์อะไร? - person guest271314   schedule 12.02.2019