Пример #1
0
        private void HandleRequest(UdpClient udpClient, IPEndPoint clientEndpoint, byte[] requestMetadata)
        {
            // check if request packet is damaged
            var request = DiscoveryMetadataHelper.Decode(requestMetadata);

            if (request == null)
            {
                return;
            }

            // make sure discovery metadata matches the request
            if (!ResponseMetadata.Matches(request) || Stopped)
            {
                return;
            }

            // send a response
            SafePerform(() =>
            {
                udpClient.BeginSend(ResponseMetadataPacket, ResponseMetadataPacket.Length, clientEndpoint, SendCallback, udpClient);
            });
        }