diff --git a/Source/Framework/IO/SocketBuffer.cs b/Source/Framework/IO/SocketBuffer.cs index fca72b2cc..f3e2c11fb 100644 --- a/Source/Framework/IO/SocketBuffer.cs +++ b/Source/Framework/IO/SocketBuffer.cs @@ -34,6 +34,7 @@ namespace Framework.IO public void Reset() { + Resize(0); _wpos = 0; } } diff --git a/Source/Game/Networking/WorldSocket.cs b/Source/Game/Networking/WorldSocket.cs index 6d3e58062..fe130abba 100644 --- a/Source/Game/Networking/WorldSocket.cs +++ b/Source/Game/Networking/WorldSocket.cs @@ -181,32 +181,25 @@ namespace Game.Networking return; } } - - AsyncReadWithCallback(InitializeHandler); } public override void ReadHandler(SocketAsyncEventArgs args) { if (!IsOpen()) return; - Log.outError(LogFilter.Network, $"Raw socket data: {args.Buffer.ToHexString()}"); + int currentReadIndex = 0; while (currentReadIndex < args.BytesTransferred) { if (_headerBuffer.GetRemainingSpace() > 0) { // need to receive the header - Log.outError(LogFilter.Network, $"_headerBuffer: {_headerBuffer.GetRemainingSpace()} bytesTransferred: {args.BytesTransferred} ReadIndex: {currentReadIndex}"); int readHeaderSize = Math.Min(args.BytesTransferred - currentReadIndex, _headerBuffer.GetRemainingSpace()); _headerBuffer.Write(args.Buffer, currentReadIndex, readHeaderSize); - Log.outError(LogFilter.Network, $"_headerBuffer Data: {_headerBuffer.GetData().ToHexString()}"); currentReadIndex += readHeaderSize; if (_headerBuffer.GetRemainingSpace() > 0) - { - Log.outError(LogFilter.Network, $"Couldn't receive the whole header, _headerBuffer: {_headerBuffer.GetRemainingSpace()} bytesTransferred: {args.BytesTransferred}"); break; // Couldn't receive the whole header this time. - } // We just received nice new header if (!ReadHeader()) @@ -220,17 +213,12 @@ namespace Game.Networking if (_packetBuffer.GetRemainingSpace() > 0) { // need more data in the payload - Log.outError(LogFilter.Network, $"_packetBuffer: {_packetBuffer.GetRemainingSpace()} bytesTransferred: {args.BytesTransferred} ReadIndex: {currentReadIndex}"); int readDataSize = Math.Min(args.BytesTransferred - currentReadIndex, _packetBuffer.GetRemainingSpace()); _packetBuffer.Write(args.Buffer, currentReadIndex, readDataSize); - Log.outError(LogFilter.Network, $"_packetBuffer Data: {_packetBuffer.GetData().ToHexString()}"); currentReadIndex += readDataSize; if (_packetBuffer.GetRemainingSpace() > 0) - { - Log.outError(LogFilter.Network, $"Couldn't receive the whole data, _packetBuffer: {_headerBuffer.GetRemainingSpace()} bytesTransferred: {args.BytesTransferred}"); break; // Couldn't receive the whole data this time. - } } // just received fresh new payload