ブラウザからWebsockets購読を作成することはできますか?ブランチフィーチャー/ 1181_websocketsブランチ、gitバージョン5ca6770aa401b52a31293fdcef4a9743fb1de2c4を使用しています。Orionのウェブサイトからの定期購入
私たちはPoCをWebソケット経由でブラウザに登録しようとしました。ブラウザで実行中のJSコードを購読URLに接続しようとしました。接続は確立されましたが、クライアントからソケットを介してデータを送信する際にクラッシュしました。このユースケースはサポートされていますか?あなたはそのための実例を持っていますか? JSコード:
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title></title>
</head>
<body>
<button id="send" type="button" name="button">send</button>
<script type="text/javascript">
var payload = `{"description": "One subscription to rule them all",
"subject": {
"entities": [{
"idPattern": ".*",
"type": "Room"
}],
"condition": {
"attrs": ["temperature"],
"expression": {
"q": "temperature>40"
}
}
},
"expires": "2016-04-05T14:00:00.00Z",
"throttling": 5
}`;
var ws = new WebSocket('ws://orion-url:9010/v2/subscriptions', 'ngsiv2-json');
var button = document.getElementById('send');
button.addEventListener('click', function(event) {
ws.send(payload)
});
</script>
</body>
</html>
代わりに、REST APIを使用してサブスクリプションを作成し、オリオンにウェブソケット経由で通知するように依頼しました。我々は、次のJSONをPOSTさ:
{
"description": "One subscription to rule them all",
"subject": {
"entities": [
{
"idPattern": ".*",
"type": "Room"
}
],
"condition": {
"attributes": [
"temperature"
],
"expression": {
"q": "temperature>40"
}
}
},
"notification": {
"callback": "ws://my-websocket-listener:8081"
},
"expires": "2016-04-05T14:00:00.00Z",
"throttling": 5
}
サブスクリプションプロセスが失敗し、オリオンはメッセージで422のステータスコードを返す:
{
"error": "BadRequest",
"description": "Invalid URL"
}
を、我々はサブスクリプション要求内の任意のミスをしましたか?このユースケースはサポートされていますか?
ありがとうございます!
機能/ 1181_websocketsのためにWSでの作業時にテストとして私にされた仕事実験的な枝と、ある意味では、「動いている絵」である。どのような正確なCBバージョンがあるかを知るために( 'contextBroker --version'出力から)、その情報を含めるために質問投稿を編集できますか?重要な部分はギターシェです。ありがとう! – fgalan
お返事ありがとうございます。私はその情報で私の質問を編集しました。 –