OyasumiVR::NetworkClient
Inherits OyasumiVR::Client < Reference < Object
UDP で探し、HTTP で読む実装。
Constants
DISCOVERY_TIMEOUT = 2.seconds
応答を待つ長さ。同じ PC の中で応えるものであり、長く待っても見つかる見込みは増えない。
HOST = "127.0.0.1"
OyasumiVR の OSCQuery サーバは 127.0.0.1 にしか bind していない。 応答の A レコードもここを指すため、応答からは読まない。
HTTP_TIMEOUT = 2.seconds
MAX_PACKET_SIZE = 9000
mDNS の応答 1 つの上限(RFC 6762 17 節)。
MDNS_GROUP = Socket::IPAddress.new("224.0.0.251", 5353)
SLEEP_MODE_PATH = "/OyasumiVR/SleepMode"
Instance methods
discover
名前の合う応答を見つけても、127.0.0.1 のそのポートで OyasumiVR が名乗るまでは採らない。
同じ LAN の別の PC で動く OyasumiVR も問い合わせに応える。 そのポートはこの PC には無いため、最初の応答で打ち切ると、 別の PC の応答が先に届いたときに、この PC の OyasumiVR を見つけられない。 確かめられなかった候補は捨て、期限まで次の応答を待つ。