C# Bittorrent连接ID不匹配

C# Bittorrent连接ID不匹配,c#,udp,bittorrent,C#,Udp,Bittorrent,我正在尝试向和UDP跟踪器发送连接消息。当我发送以下连接消息时。我收到一条包含错误的消息:连接ID不匹配 我在用这个 我今天发现了这个问题,我首先要把最后一个元素放在消息中,这样当数组反转为Big-Endian时,它将是第一个元素 message.AddRange(BitConverter.GetBytes(sessionId)); //last element message.AddRange(BitConverter.GetBytes(action)); message.AddRange(

我正在尝试向和UDP跟踪器发送连接消息。当我发送以下连接消息时。我收到一条包含错误的消息:连接ID不匹配

我在用这个


我今天发现了这个问题,我首先要把最后一个元素放在消息中,这样当数组反转为Big-Endian时,它将是第一个元素

message.AddRange(BitConverter.GetBytes(sessionId)); //last element
message.AddRange(BitConverter.GetBytes(action)); 
message.AddRange(BitConverter.GetBytes(connectionID)); //first element
        List<byte> message = new List<byte>();
        message.AddRange(BitConverter.GetBytes(connectionID));
        message.AddRange(BitConverter.GetBytes(action));
        message.AddRange(BitConverter.GetBytes(sessionId));

        byte[] messageData = message.ToArray();
        if (BitConverter.IsLittleEndian)
            Array.Reverse(messageData);


        int n = 0;
        while(!response)
        {
            Thread.Sleep(15 * 2 * n++ * 1000);
            Send(messageData);
        }
message.AddRange(BitConverter.GetBytes(sessionId)); //last element
message.AddRange(BitConverter.GetBytes(action)); 
message.AddRange(BitConverter.GetBytes(connectionID)); //first element