public async Task <ServerInfoResult> GetServerStatus(string host, int port)
        {
            try
            {
                var hostEntry = Dns.GetHostEntry(host);

                if (hostEntry.AddressList.Length < 1)
                {
                    throw new Exception($"Hostname did not resolve.");
                }

                var query = new ServerQuery(new IPEndPoint(hostEntry.AddressList[0], port));
                var res   = await query.GetServerInfo();

                return(res);
            }
            catch (Exception)
            {
                throw;
            }
        }
예제 #2
0
        public void GetServerInfo_ShouldPopulateCorrectServerInfo()
        {
            (byte[] responsePacket, object responseObject) = ResponseHelper.GetValidResponse(ResponseHelper.ServerInfo);
            var expectedObject = (ServerInfo)responseObject;

            byte[][] requestPackets  = new byte[][] { RequestHelpers.PrepareAS2_INFO_Request() };
            byte[][] responsePackets = new byte[][] { responsePacket };

            Mock <IUdpClient> udpClientMock = SetupReceiveResponse(responsePackets);

            SetupRequestCompare(requestPackets, udpClientMock);

            using (var sq = new ServerQuery(udpClientMock.Object, _localIpEndpoint))
            {
                Assert.Equal(JsonConvert.SerializeObject(expectedObject), JsonConvert.SerializeObject(sq.GetServerInfo()));
            }
        }