所以找到了这个小代码片段,它可以让你在 PHP 中 ping Minecraft 服务器,但现在我想在 C# 中执行此操作。
我尝试自己做这个,但由于某种原因它只是不工作
        UdpClient client = new UdpClient();
        IPEndPoint ep;
        try
        {
            ep = new IPEndPoint(IPAddress.Parse("-snip-"), -snip-);
            client.Connect(ep);
        }
        catch { Console.WriteLine("Error"); Console.ReadLine(); return; }
        byte[] bytes = new byte[1];
        bytes[0] = (byte)0xFE;
        client.Send(bytes, bytes.Length);
        IPEndPoint rep = new IPEndPoint(IPAddress.Any, 0);
        byte[] recv = client.Receive(ref rep);
        Console.WriteLine(ASCIIEncoding.ASCII.GetString(recv));
        Console.ReadLine();
服务器似乎完全忽略了数据包。这是我找到的代码片段:
    $fp = fsockopen($host, $port, $errno, $errstr, $timeout);
    if (!$fp) return false;
    //Send 0xFE: Server list ping
    fwrite($fp, "\xFE");
    //Read as much data as we can (max packet size: 241 bytes)
    $d = fread($fp, 256);
    //Check we've got a 0xFF Disconnect
    if ($d[0] != "\xFF") return false;
谁能指出我犯了什么错误?谢谢!