/// <summary> /// 데이터 수신 처리 콜백 함수 /// </summary> /// <param name="ar"></param> private void OnReceiveCallBack(IAsyncResult ar) { try { StateObject so = (StateObject)ar.AsyncState; int bytesRead = so.Worker.EndReceive(ar); AsyncSocketReceiveEventArgs rev = new AsyncSocketReceiveEventArgs(this.id, bytesRead, so.Buffer); // 데이터 수신 이벤트를 처리한다. if (bytesRead > 0) { Received(rev); } // 다음 읽을 데이터를 처리한다. Receive(); } catch (System.Exception e) { AsyncSocketErrorEventArgs eev = new AsyncSocketErrorEventArgs(this.id, e); ErrorOccured(eev); } }
protected virtual void Received(AsyncSocketReceiveEventArgs e) { AsyncSocketReceiveEventHandler handler = OnReceive; if (handler != null) { handler(this, e); } }