Просмотр исходного кода

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

tanghai 7 лет назад
Родитель
Сommit
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)
 			{