Websocket not working

socket.addEventListener("message", function(packet) {		
		console.log(typeof packet);
		if (typeof packet === "string"){
			console.log(packet); // to handle error message sent by server
			console.log("Message");
		}
		else{
			parseBinary(packet.data); // to handle ByteBuffer packets sent by server
		}
	})
function parseBinary(packet) {
    let len = packet.size, response = [];
    let ab = new ArrayBuffer(len);
    let dv = new Int8Array(ab);
    for (let i = 0; i < len; ++i) {
        dv[i] = packet[i];
    }
    let dvu = new DataView(ab);
    let position = 0;
    while (position != len) {		
        let type = dvu.getInt8(position);
        position = position + 1;
        switch (type) {
            case 61:
                processLtpPacket();
                break;
        }
    }
}
 function processLtpPacket() {
        response.push({
            last_price: dvu.getFloat32(position, true).toFixed(2),
            last_trade_time: epochConverterUtil.EpochConverter(dvu.getInt32(position + 4, true)),
            security_id: dvu.getInt32(position + 8, true),
            tradable: dvu.getInt8(position + 12, true),
            mode: dvu.getInt8(position + 13, true),
            change_absolute: dvu.getFloat32(position + 14, true).toFixed(2),
            change_percent: dvu.getFloat32(position + 18, true).toFixed(2)
        });
        position = position + 22;
		
    }

In place of packet.size If I give packet.length its return undefined

Hi @sanjoy.dasgupta ,
The value of these properties depends on the client library you are using and the type of object they return when the “message” event is triggered.

1 Like