Esempio n. 1
0
    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();
    }
Esempio n. 2
0
    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();
    }