gpt4 book ai didi

c# - 检查服务器是否打开/关闭

转载 作者:行者123 更新时间:2023-12-03 11:50:34 26 4
gpt4 key购买 nike

我正在尝试构建一些程序来检测某个游戏的服务器是打开还是关闭,我有服务器的 IP 和端口。

我必须做什么来检测服务器是打开还是关闭? socket ?平类?

如果你们能给我一个代码示例或其他东西,那就太好了。

非常感谢!

最佳答案

参见 Socket.Connect

public static void Connect1(string host, int port)
{
IPAddress[] IPs = Dns.GetHostAddresses(host);

Socket s = new Socket(AddressFamily.InterNetwork,
SocketType.Stream,
ProtocolType.Tcp);

Console.WriteLine("Establishing Connection to {0}",
host);
s.Connect(IPs[0], port); // Catch any exceptions here.
Console.WriteLine("Connection established");
}

通过对服务器执行 ping 操作,您可以获得服务器是“打开”还是“关闭”的指示;它不会指示您尝试连接的服务是否正在运行。

如果第一个选项是您正在寻找的(服务器是否打开并连接到 Internet 的一般想法),ping 就足以完成此任务。

根据效率 - ping 更有效(嗯,在大规模方面),因为服务器和客户端之间只交换 2 个数据包,而不是大约 3 个数据包的完整连接建立 - See TCP 3-Way handshake

关于c# - 检查服务器是否打开/关闭,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9601133/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com