//------------------------------------------------------------------------- void _onRead(IAsyncResult result) { TcpStateObj obj = null; int num = 0; try { obj = (TcpStateObj)result.AsyncState; num = obj.socket.EndReceive(result); } catch (Exception ex) { _raiseError(ex); _raiseClosed(); return; } if (num <= 0 || obj == null) { _raiseClosed(); return; } byte[] recv_buf = new byte[num]; Array.Copy(obj.buffer, 0, recv_buf, 0, recv_buf.Length); _raiseDataReceived(recv_buf, recv_buf.Length); _read(); }
//------------------------------------------------------------------------- void _read() { try { if (mDisposed) { return; } TcpStateObj obj = new TcpStateObj(); obj.socket = mSocket; obj.buffer = new byte[MAX_RECEIVE_LEN]; mSocket.BeginReceive(obj.buffer, 0, MAX_RECEIVE_LEN, SocketFlags.None, new AsyncCallback(_onRead), obj); } catch (Exception ex) { _raiseError(ex); _raiseClosed(); return; } }
//------------------------------------------------------------------------- void _read() { try { if (mDisposed) return; TcpStateObj obj = new TcpStateObj(); obj.socket = mSocket; obj.buffer = new byte[MAX_RECEIVE_LEN]; mSocket.BeginReceive(obj.buffer, 0, MAX_RECEIVE_LEN, SocketFlags.None, new AsyncCallback(_onRead), obj); } catch (Exception ex) { _raiseError(ex); _raiseClosed(); return; } }