/// <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); }
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()); } }
public void setReceiveDataCallback(ReceiveDataCallback callback) { mSendReceivedDataCallback = callback; }
public override void BeginReceiveEncrypted(byte[] buffer, int offset, int size, ReceiveDataCallback callback) { throw new NotImplementedException(); }
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}); }
public override void BeginReceive(byte[] buffer, int offset, int size, ReceiveDataCallback callback) { BeginReceivePrivate (buffer, offset, size, callback, 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}); }