Exemple #1
0
        private static void handleIncomingData(BinaryReader br, IPEndPoint peerAddress)
        {
            var data = new Data();

            data.Decode(br);

            Console.WriteLine("DATA Size: {0} Chunk: {1}", data.DataBytes.Length, data.BinValue);

            var haveMessage = new Have();

            haveMessage.DestChannelId = _sendingChannel;
            haveMessage.BinValue      = data.BinValue;

            var ackMessage = new Ack();

            ackMessage.BinValue = data.BinValue;

            var requestMessage = new Request();

            requestMessage.BinValue = data.BinValue + 40;

            var returnBytes = new List <byte>();

            returnBytes.AddRange(haveMessage.ToByteArray());
            returnBytes.AddRange(requestMessage.ToByteArray());

            _client.Send(returnBytes.ToArray(), returnBytes.Count, peerAddress);
        }