2014-09-30 131 views
0

我正在嘗試向UDP跟蹤器發送連接消息。當我發送以下連接消息。我收到包含錯誤消息:連接ID不匹配。我使用specificationBittorrent連接ID不匹配

 // CONNECTION MESSAGE 
     int action = 0; 
     long connectionID = 0x41727101980;   
     int sessionId = new Random().Next(); 
 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); 
     } 

回答

0

我今天發現這個問題,我首先必須把最後一個元素所以當數組被逆轉隱蔽於大端這將是第一個元素在消息中。

message.AddRange(BitConverter.GetBytes(sessionId)); //last element 
message.AddRange(BitConverter.GetBytes(action)); 
message.AddRange(BitConverter.GetBytes(connectionID)); //first element