private void DataReceived(IAsyncResult res)
{
Receiving = false;
try
{
SocketError err = SocketError.Success;
if(disposed)
return;
int received = ((Socket)res.AsyncState).EndReceive(res, out err);
if (received <= 0 || err != SocketError.Success)
{
this.Disconnect();
return;
}
DataEventArgs data = new DataEventArgs(this, buffer, received);
this.onDataReceived(this, data);
}
catch (Exception ex)
{
#if DEBUG
#if DEBUG
Console.WriteLine(ex.ToString());
#endif
#endif
this.Disconnect();
}
}