私は現在、Session Description Protocol (SDP; https://www.rfc-editor.org/rfc/rfc4566を参照) を使用して配信される情報をストリーミングするための単純なパーサーを作成しています。
originatorやmediaなどのさまざまなフィールドには、異なる値を持つことができるフラグがあります。たとえば、メディアフィールドのメディア トランスポート プロトコル (参照: https://www.rfc-editor.org/rfc/rfc4566#section-8.2.2 )
m=audio 49170 RTP/AVP 0
proto フラグ (メディア トランスポート プロトコル) は、仕様に従って、「RTP/AVP」、「RTP/SAVP」、または「UDP」のいずれかになります。
このフラグに設定できる値は多数あるため、次を使用するのが適切enum
です。
public enum MediaTransportProtocol {
UDP,
RTP_AVP
RTP_SAVP
}
しかし、ここに問題があります: string enumのようなものはないので、これを解析に使用することはできません (たとえば/
、RTP/AVP の " " char が原因で..) そのため、切り替えるためだけに追加の定数を定義する必要があります。メディア フィールドを解析するときのメディア トランスポート プロトコル フラグ。
DESCRIPTION
各フィールドで " " 属性を使用することを検討しましたenum
が、それを受け取るためだけに追加のメソッド/拡張メソッドを作成する必要がありますenum flag description
(列挙型の説明属性を収集するのは簡単な作業ではありません)。
そのようなデータを解析するためのベスト プラクティスと考えられるものは何ですか? または、文字列列挙型のようなものがありますが、私はそれを認識していませんか?
public enum MyStringEnum {
ENUMVAL1 = "EnumVal-01",
ENUMVAL2 = "EnumVal-02"
...
}