/// <summary> /// Метод для асинхронной отправки данных сокету /// </summary> /// <param name="data">Данные</param> /// <param name="socketTo">Сокет, которому отправляются данные</param> /// <returns>True - в случае успешной отправки</returns> protected bool Send(byte[] data, Socket socketTo) { try { if (!socketTo.Connected) { return(false); } TcpSocketAsyncEventArgs e = poolEventArgs.Pop(); e.AcceptSocket = socketTo; if (e.Buffer == null) { e.SetBuffer(data, 0, data.Length); } #if DEBUG if (isLogging) { WriteToLog(string.Concat("Sending ", data.Length, " bytes")); } #endif if (!e.Socket.SendAsync(e)) { ProcessSend(e); } } catch (System.Exception ex) { SetException(ex, "TcpSocket.Send(byte[] data):"); return(false); } return(true); }