Example #1
0
        public async Task <IObservable <IMSearchResponse> > CreateMSearchResponseObservable(int tcpReponsePort)
        {
            var multicastResObs = await _httpListener.UdpMulticastHttpResponseObservable(
                Initializer.UdpSSDPMultiCastAddress,
                Initializer.UdpSSDPMulticastPort,
                false);

            var tcpResObs = await _httpListener.TcpHttpResponseObservable(tcpReponsePort, false);

            return(multicastResObs
                   .Merge(tcpResObs)
                   .Where(x => !x.IsUnableToParseHttp && !x.IsRequestTimedOut)
                   .Select(res => new MSearchResponse(res)));
        }