Quellcode durchsuchen

修复PacketParser一个bug,包缓冲设置成了8K,导致超过8K的包接收出错,应该设置成ushort.MaxValue, 这里会占用64K,1000个连接占用64M,内存还可以接受

tanghai vor 8 Jahren
Ursprung
Commit
4fbe15ce64

+ 5 - 0
Unity/Assets/Scripts/Base/Network/Circularbuffer.cs

@@ -99,6 +99,11 @@ namespace Model
             {
                 throw new Exception($"bufferList size < n, bufferList: {this.Count} buffer length: {buffer.Length} {count}");
             }
+
+	        if (buffer.Length < count)
+	        {
+				throw new Exception($"bufferList length < coutn, buffer length: {buffer.Length} {count}");
+	        }
             int alreadyCopyCount = 0;
             while (alreadyCopyCount < count)
             {

+ 1 - 1
Unity/Assets/Scripts/Base/Network/TNet/PacketParser.cs

@@ -32,7 +32,7 @@ namespace Model
 
 		private ushort packetSize;
 		private ParserState state;
-		private Packet packet = new Packet(8 * 1024);
+		private Packet packet = new Packet(ushort.MaxValue);
 		private bool isOK;
 
 		public PacketParser(CircularBuffer buffer)