【发布时间】:2016-12-29 04:05:11
【问题描述】:
我有一个远程桌面项目,需要使用 DNS 服务器连接
我有一个错误说ip的格式和无效
private static void ConnectToServer()
{
int attempts = 0;
while (!clientSocket.Connected)
{
try
{
attempts++;
Console.WriteLine("Connection attempt " + attempts);
// clientSocket.Connect(IPAddress.Parse(Dns.GetHostAddresses("kamikazehc.ddns.net")), port);
clientSocket.Connect(IPAddress.Parse("kamikazehc.ddns.net"), port);
Thread.Sleep(100);
}
catch (SocketException)
{
Console.Clear();
}
}
Console.Clear();
Console.WriteLine("Connected");
}
编辑:
此代码保留在外部用户中,我的计算机以管理员身份工作。
当用户运行控制台时,他应该连接到 kamikazehc.ddns.net,(我的电脑)
Kamikazehc.ddns.net 在 189.6.26.203 上解析。
我只能在本地连接 使用:
clientSocket.Connect(IPAddress.Parse("192.168.1.102"), port);
当用户连接到我的电脑时,它应该出现在这个列表中:
private static Socket clientSocket = new Socket
(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp);
private const int port = 100; // same as server port
【问题讨论】:
-
你应该使用Dns.GetHostEntry而不是
IPAddress.Parse -
从 cmd.exe > IPConfig/All 运行开始。检查 dns 服务器的名称。然后从 cmd.exe 尝试 ping 服务器以获取 IP 地址。 IPAddress.Parse() 方法需要 IP 地址。使用以下: LocalHostIPEntry = Dns.GetHostEntry(LocalHostName); LocalHostIP = LocalHostIPEntry.AddressList[0];
-
prntscr.com/dpepy5 DNs 服务器
标签: c# dns server connect host