Пример #1
0
        /// <summary>
        /// 异步接收数据
        /// </summary>
        /// <param name="callback">回调函数</param>
        /// <param name="state">参数</param>
        public void AsyncReceive(ReceiveDataCallback callback, object state)
        {
            AsyncReceiveData state2 = new AsyncReceiveData
            {
                Client   = this.m_client,
                Callback = callback,
                State    = state
            };

            ThreadPool.QueueUserWorkItem(this.AsyncReceive, state2);
        }
Пример #2
0
    public void Receive(ReceiveDataCallback receiveCallback)
    {
        try {
            // Create the state object.
            StateObject state = new StateObject();
            state.workSocket     = this.client;
            this.decoder         = new FlatBuffersDecoder();
            this.receiveCallback = receiveCallback;

            // Begin receiving the data from the remote device.
            client.BeginReceive(state.buffer, 0, StateObject.BufferSize, 0,
                                new AsyncCallback(ReceiveCallback), state);
        } catch (Exception e) {
            Console.WriteLine(e.ToString());
        }
    }
Пример #3
0
 public void setReceiveDataCallback(ReceiveDataCallback callback)
 {
     mSendReceivedDataCallback = callback;
 }
Пример #4
0
 public override void BeginReceiveEncrypted(byte[] buffer, int offset, int size, ReceiveDataCallback callback)
 {
     throw new NotImplementedException();
 }
Пример #5
0
 public override void BeginReceiveEncrypted(byte[] buffer, int offset, int size, ReceiveDataCallback callback)
 {
     AsyncCallback internalCallback = new AsyncCallback (OnReceiveEncryptedData);
     socket.BeginReceive (buffer, offset, size, SocketFlags.None, internalCallback, new object[] {buffer, callback, size});
 }
Пример #6
0
 public override void BeginReceive(byte[] buffer, int offset, int size, ReceiveDataCallback callback)
 {
     BeginReceivePrivate (buffer, offset, size, callback, 0);
 }
Пример #7
0
 private void BeginReceivePrivate(byte[] buffer, int offset, int size, ReceiveDataCallback callback, int totalReceived)
 {
     AsyncCallback internalCallback = new AsyncCallback (OnReceivedData);
     socket.BeginReceive (buffer, offset + totalReceived, size - totalReceived, SocketFlags.None, internalCallback,
             new object[] {buffer, offset, size, callback, totalReceived});
 }