I need to consume web socket messages in Javascript using stomp.js library.
I've this code structure ....
<!DOCTYPE HTML>
<html>
<head>
<title>Client Stomp</title>
<script src="js/stomp.js"></script>
</head>
<body>
<script>
var urlServer;
var topics;
urlServer = "ws://myserver.com/ws";
topics = "/topic/output.values";
client = Stomp.client(urlServer);
client.connect("usr" , "pwd" , connectCallBack, errorCallback);
function connectCallBack(x) {
client.subscribe(topics, messageCallback);
}
function errorCallback(x) {
// manage connection errors
}
function messageCallback(x) {
// manage message returned
}
</script>
</body>
</html>
.... and I'm able to see messages returned in my web browser console, so something like this ...
message-id:ID:sdnet-mb1-45259-1466517935373-3947:1:1:1:751006
destination:/topic/output.4c5d7481-fa5e-4f2f-d26d-d4e8095b9dd2_s_01
timestamp:1467279400475
expires:0
subscription:sub-0
persistent:true
priority:4
{"sensor":"4c5d7481-fa5e-4f2f-d26d-d4e8095b9dd2","stream":"s_01","values":[{"time":"2016-06-30T11:36:39+0200","components":{"b_6300_Hz":"56.6","b_50_Hz":"16.0","b_3150_Hz":"65.7","b_31_5_Hz":"12.9","b_500_Hz":"60.1","b_400_Hz":"54.5","b_160_Hz":"52.4","b_10000_Hz":"-11.8","b_8000_Hz":"45.6","b_80_Hz":"29.1","b_20000_Hz":"-9.5","b_5000_Hz":"59.4","b_1600_Hz":"67.4","b_1000_Hz":"61.6","b_20_Hz":"17.9","b_125_Hz":"40.5","b_40_Hz":"16.0","b_4000_Hz":"62.7","b_12500_Hz":"-10.6","b_25_Hz":"12.9","b_250_Hz":"55.5","LAeq":"75.2","b_630_Hz":"57.9","b_315_Hz":"55.7","b_200_Hz":"47.6","b_2000_Hz":"67.4","b_63_Hz":"29.1","b_100_Hz":"34.8","b_16_Hz":"17.9","b_1250_Hz":"60.6","b_800_Hz":"66.5","b_16000_Hz":"-9.3","b_2500_Hz":"62.6"}}]}
every 10 sec.
How may I consume these messages in my Javacript code? For examples how may I echo the b_6300_Hz values?
Any suggestions / examples will be appreciated.
Cesare
The solution it's quite simple .....
x.body
... is the message body, so
{"sensor":"4c5d7481-fa5e-4f2f-d26d-d4e8095b9dd2","stream":"s_01","values":[{"time":"2016-06-30T11:36:39+0200","components":{"b_6300_Hz":"56.6","b_50_Hz":"16.0","b_3150_Hz":"65.7","b_31_5_Hz":"12.9","b_500_Hz":"60.1","b_400_Hz":"54.5","b_160_Hz":"52.4","b_10000_Hz":"-11.8","b_8000_Hz":"45.6","b_80_Hz":"29.1","b_20000_Hz":"-9.5","b_5000_Hz":"59.4","b_1600_Hz":"67.4","b_1000_Hz":"61.6","b_20_Hz":"17.9","b_125_Hz":"40.5","b_40_Hz":"16.0","b_4000_Hz":"62.7","b_12500_Hz":"-10.6","b_25_Hz":"12.9","b_250_Hz":"55.5","LAeq":"75.2","b_630_Hz":"57.9","b_315_Hz":"55.7","b_200_Hz":"47.6","b_2000_Hz":"67.4","b_63_Hz":"29.1","b_100_Hz":"34.8","b_16_Hz":"17.9","b_1250_Hz":"60.6","b_800_Hz":"66.5","b_16000_Hz":"-9.3","b_2500_Hz":"62.6"}}]}
The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.