Matlab 用のライトストリーマークライアントを構築しようとしています。JAVA、Python、.Net などのプラットフォーム用のライブラリがいくつか存在しますが、残念ながら Matlab はありません。ただし、これらのクライアント実装のほとんどは、非常に基本的な HTTP 要求であるライトストリーマーとまったく同じテキストモード プロトコルを使用していることが判明しました。
ライトストリーマー セッションを確立/閉じる方法を見つけました。sessionId を取得し、この ID を使用して、ストリーミングしたいデータをサブスクライブできます。しかし、サブスクリプションの呼び出しに対して有効な応答は得られますが、プッシュされるデータはありません。
私は urlead2 関数を使用していますが、応答は問題ないようです:
[output,extras] = urlread2([lightstream_url,'/lightstreamer/control.txt'],'POST',body,headers);
allHeaders =
Response: {'HTTP/1.1 200 OK'}
Server: {'Lightstreamer'}
Content_Type: {'text/plain; charset=iso-8859-1'}
Cache_Control: {'no-store' 'no-cache'}
Pragma: {'no-cache'}
Expires: {'Thu, 1 Jan 1970 00:00:00 GMT'}
Date: {'Wed, 8 Apr 2015 11:15:02 GMT'}
Content_Length: {'4'}
ステータス =
value: 200
msg: 'OK'
良い =
1
出力 =
OK
レスポンスボディに「OK」が含まれているのは正しいですが、これは文書化されています(ドキュメント、20ページ以降)ですが、ストリームデータ自体もあるはずですよね?
では、実際のデータを取得するにはどうすればよいでしょうか。