public void AsyncReadWithCallback(SocketReadCallback callback) { if (!IsOpen()) { return; } try { using (var socketEventargs = new SocketAsyncEventArgs()) { socketEventargs.SetBuffer(_receiveBuffer, 0, _receiveBuffer.Length); socketEventargs.Completed += (sender, args) => callback(args); socketEventargs.UserToken = _socket; socketEventargs.SocketFlags = SocketFlags.None; if (!_socket.ReceiveAsync(socketEventargs)) { callback(socketEventargs); } } } catch (Exception ex) { Log.outException(ex); } }
public void AsyncReadWithCallback(SocketReadCallback callback) { if (!IsOpen()) { return; } receiveSocketAsyncEventArgsWithCallback.Completed += (sender, args) => callback(args); receiveSocketAsyncEventArgsWithCallback.SetBuffer(0, 0x4000); if (!_socket.ReceiveAsync(receiveSocketAsyncEventArgsWithCallback)) { callback(receiveSocketAsyncEventArgsWithCallback); } }
public void AsyncReadWithCallback(SocketReadCallback callback) { if (!IsOpen()) { return; } try { var socketEventargs = new SocketAsyncEventArgs(); socketEventargs.SetBuffer(_receiveBuffer, 0, _receiveBuffer.Length); socketEventargs.Completed += new EventHandler <SocketAsyncEventArgs>(callback); socketEventargs.UserToken = _socket; socketEventargs.SocketFlags = SocketFlags.None; _socket.ReceiveAsync(socketEventargs); } catch (Exception ex) { Log.outException(ex); } }