2014-09-30 56 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