Цитата:
Сообщение от silvermain
больше на велосипед с моторчиком смахивает.....)))
Если уж делать что либо, то лучше писать с нуля самим... а переделывать или доделывать то, что было сделано другими, долгое и мутное занятие.....
|
Ты не поверишь сколько я уже там переписал

Лично мне проще взять что-то готовое и допиливать под себя, чем начинать с нуля. Не могу я в структуру ибо у меня один спагетти код получается
Добавлено через 17 минут
Переписал вот так:
var tmpbuffer = new byte[65536];
var len = SocketToClient.Client.Receive(tmpbuffer, SocketFlags.None);
var newBuffer = new byte[_bufferToClient.Length + len];
Array.Copy(_bufferToClient, newBuffer, _bufferToClient.Length);
Array.Copy(tmpbuffer, 0, newBuffer, _bufferToClient.Length, len);
if (newBuffer.Length > 1)
{
var packetLength = BitConverter.ToInt16(new[] { newBuffer[0], newBuffer[1] }, 0);
if (newBuffer.Length >= packetLength)
{
var inputPacket = new byte[packetLength];
var leftOver = new byte[newBuffer.Length - packetLength];
Array.Copy(newBuffer, inputPacket, packetLength);
Array.Copy(newBuffer, packetLength, leftOver, 0, newBuffer.Length - packetLength);
newBuffer = leftOver;
_readFromClient.Add(inputPacket);
//_dbg.Information("[ReadFromServer] Raw Packet:" + BitConverter.ToString(inputPacket));
//new Thread(() => DataReceivedFc(ref finalPacket)).Start();
}
}
_bufferToClient = newBuffer;Code: C++
В итоге имеем фризы и очень долгую загрузку гирана....