public void ReceiveAsync(int buffersize = -1) { try { if (!IsConnected()) { Disconnect(); return; } if (buffersize > -1) { _buffer = new byte[buffersize]; } Receiving = true; Sock.BeginReceive(_buffer, 0, _buffer.Length, SocketFlags.None, DataReceived, Sock); } catch (Exception ex) { #if DEBUG Console.WriteLine(ex.ToString()); #endif Disconnect(); } }
internal void PostRecv() { IAsyncResult ar = null; SocketError socketError = SocketError.SocketError; HandlerParam handlerParam = null; try { handlerParam = new HandlerParam(EHandlerType.Socker, this); if (LOG_ERROR(handlerParam != null)) { goto Exit0; } ar = Sock.BeginReceive(RecvBuf.BufBytes, RecvBuf.WriteInx, RecvBuf.GetOnceWritableLen(), SocketFlags.None, out socketError, LP.NetModule.Reactor.OnReceive, handlerParam); if (socketError != SocketError.Success) { Close(ESockerCloseType.PostRecvFail, 1, true); goto Exit0; } if (LOG_ERROR(ar != null)) { goto Exit0; } } catch (Exception e) { LPMiniDump.GenerateNormalDump(e); } Exit0: return; }
public void BeginReceive(AsyncCallback callback) { try { Sock.BeginReceive(_buffer.BuildReceiveBuffer(), SocketFlags.None, callback, this); } catch (Exception ex) { IMA.Log.Warn(ErrorCode.MessagingBeginReceiveException, "Exception trying to begin receive from endpoint " + RemoteEndPoint, ex); throw; } }
public override bool Start() { try { Sock.BeginReceive(Pack, 0, Pack.Size, SocketFlags.None, ReceivedCallback, null); } catch (Exception ex) { EventProvider.ExecuteErrorHandler(ex, SocketErrorLocation.Receive); return(false); } return(true); }
public void ReceiveAsync(int buffersize = -1) { try { if (buffersize > -1) { buffer = new byte[buffersize]; } Receiving = true; Sock.BeginReceive(buffer, 0, buffer.Length, SocketFlags.None, new AsyncCallback(DataReceived), Sock); } catch(Exception ex) { #if DEBUG Console.WriteLine(ex.ToString()); #endif this.Disconnect(); } }
void ReceivedCallback(IAsyncResult asyncResult) { try { ReceivedDataLen = Sock.EndReceive(asyncResult); } catch (SocketException) { return; } catch (ObjectDisposedException) { return; } if (ReceivedDataLen <= 0) { EventProvider.ExecuteDisconnectedHandler(IP); Dispose(this); return; } EventProvider.ExecuteReceivedDataHandler(Pack.Clone(), this); Array.Clear(Pack, 0, Pack.Size); Sock.BeginReceive(Pack, 0, Pack.Size, SocketFlags.None, ReceivedCallback, null); }