override protected void OnDataReceived(IAsyncResult result) { SocketError error = SocketError.Success; int size = 0; try { size = _Client.Client.EndReceive(result, out error); } catch (Exception e) { // Disconnect() ?? Debug.LogError($"TCP Client Exception {e.Message}"); return; } if (size <= 0 || error != SocketError.Success) { Disconnect(); Debug.LogWarning($"TCP Client Response size is {size} ({error})"); } else { _Serializer.EnqueueBytes(_ReceivedBuffer, size); } ListenToStream(); }
private void ReadComplete(IAsyncResult ar) { int size = 0; SocketError err; try { size = Client.Client.EndReceive(ar, out err); } catch { return; } if (err != SocketError.Success) { Disconnect(); OnDisconnect?.Invoke(); } else { PacketSerializer.EnqueueBytes(receiveBuffer, size); } Start(); }