WebSocket v2
リクエスト
WebSocket wss://{可変}.api.dmdata.jp/v2/websocket
WebSocketを通じて気象庁の発表する電文をリアルタイムに配信します。
WebSocketプロトコル
WebSocketProtocol dmdata.v2
クエリパラメータ
パラメータ名 | 必須 | デフォルト | 説明 |
---|---|---|---|
ticket | はい | String Socket Start v2により取得したWebSocket接続するためのチケットを指定する |
エンドポイント情報
複数のサーバーを含エンドポイントは死活監視しており、正常なサーバーにランダムに振り分けします。 (※60秒の DNS TTL が存在するため、即座の切り替えを保証するものではありません。)
地理・冗長化を目的として、Socket Start の URL情報 を使用せず下記の エンドポイントを使用することができます。
- ws.api.dmdata.jp - Tokyo and Osaka
東京・大阪のレイテンシ分配エンドポイント- ws-tokyo.api.dmdata.jp - Tokyo Region
東京エンドポイント- ws001.api.dmdata.jp - AWS apne1-az4
- ws002.api.dmdata.jp - AWS apne1-az1
- ws-osaka.api.dmdata.jp - Osaka Region
大阪エンドポイント- ws003.api.dmdata.jp - AWS apne3-az3
- ws004.api.dmdata.jp - AWS apne3-az1
- ws-tokyo.api.dmdata.jp - Tokyo Region
定期メンテナンス
WebSocketサーバーは、おおよそ3ヶ月ごとに接続切断を伴うメンテナンス(サーバー再起動)を行っています。(1つずつ作業を行い、2つ以上のサーバーが同時に再起動することはありません。)
そのため、サーバーから切断された場合の処理は実装する必要があります。
サーバーのメンテナンスについての事前予告は1週間程度前をめどにお知らせします。
その他
XML電文については圧縮して送信します。WebSocketは実装により圧縮/非圧縮で通信します。
WebSocket接続中に契約を終了すると、その区分の情報はそれ以降配信されなくなり、契約を再開しても新しくWebSocketを開始しない限り配信されません。
WebSocketには同時接続上限があり、それを超えての接続はできません(接続上限を拡張する契約を解除した場合、ランダムに有効接続数まで切断されます)。
ticketは使い捨てですので一度使用した場合、エラーでもそのticketはもう一度使用できません。 また、5分経過すると使えなくなります。
正常にClose処理がなされないWebSocket切断が発生するとサーバー側で切断が検知できなくなり、PingTimeoutが発生し切断処理が実行されるまで、接続数を消費します。
そのため、同時接続数に余裕がなくすぐに再接続を行いたい場合は、Socket Close v2を実行するよう実装する必要があります。