private void ReceiveCompletedCallBack(object sender, BufferReceiveEventArgs e) { var data = new byte[e.Count]; Buffer.BlockCopy(e.Buffer, e.Offset, data, 0, e.Count); this.CurrentSession.ProcessReceiveCompletedCallBack(data); }
/// <summary> /// 当前会话收到新的数据消息的通知方法 /// </summary> private void AcceptSocket_ReceiveCompleted(object sender, BufferReceiveEventArgs e) { //var data = new byte[e.Count]; ////将数据Copy入缓冲区,启动数据接收完成的处理方法 //Buffer.BlockCopy(e.Buffer, e.Offset, data, 0, e.Count); WebsocketHandle.ProcessReceive(e.Buffer, e.Offset, e.Count); }
/// <summary> /// /// </summary> /// <param name="baseSocket"></param> public SslAppectSocket(Socket baseSocket) { this.baseSocket = baseSocket; _sessionID = this.baseSocket.Handle.ToInt32(); this.sslStream = new SslStream(new SocketNetworkStream(this.baseSocket)); byte_buffer = new byte[BufferCount]; receive_e = new BufferReceiveEventArgs(byte_buffer); }
//触发数据接收转发事件 /// <summary> /// 触发数据接收转发事件 /// </summary> private void OnReceiveCompleted(object sender, IByteBuffer e) { while (recbuffer.Count > 0) { var argtemp = new BufferReceiveEventArgs(); argtemp.Buffer = recbuffer.ReadAndRemoveBytes(0, recbuffer.Count); if (ReceiveCompleted != null) { ReceiveCompleted(this, argtemp); } } }
/// <summary> /// 数据管道收到数据时的事件处理程序 /// </summary> /// <param name="sender"></param> /// <param name="e"></param> protected abstract void Client_ReceiveCompleted(object sender, BufferReceiveEventArgs e);
/// <summary> /// 数据管道接收到数据时候的事件处理程序 /// </summary> protected override void Client_ReceiveCompleted(object sender, BufferReceiveEventArgs e) { recbuffer.Write(e.Buffer, e.Offset, e.Count); PipelineOperation.OnMessageComing(this, ref recbuffer, this.OnMessageComing); }
private void acceptSocket_ReceiveCompletedCallback(object sender, BufferReceiveEventArgs e) { this.remSocket.Send(e.Buffer, e.Offset, e.Count); }