Преглед изворни кода

Socket SendAsync SocketAsyncEventArgs的BytesTransferred==0也表示对方连接已断开

tanghai пре 7 година
родитељ
комит
4602b7fcc2
1 измењених фајлова са 7 додато и 0 уклоњено
  1. 7 0
      Unity/Assets/Scripts/Module/Message/Network/TCP/TChannel.cs

+ 7 - 0
Unity/Assets/Scripts/Module/Message/Network/TCP/TChannel.cs

@@ -305,6 +305,13 @@ namespace ETModel
 				this.OnError((int)e.SocketError);
 				return;
 			}
+			
+			if (e.BytesTransferred == 0)
+			{
+				this.OnError(ErrorCode.ERR_PeerDisconnect);
+				return;
+			}
+			
 			this.sendBuffer.FirstIndex += e.BytesTransferred;
 			if (this.sendBuffer.FirstIndex == this.sendBuffer.ChunkSize)
 			{