Example #1
0
 public void Push(ITcpClientSession item)
 {
     if (activeDict.TryRemove(item.SessionId, out item))
     {
         pool.Enqueue(item);
     }
 }
Example #2
0
 public override void OnDisConnect(ITcpClientSession session)
 {
     RpcContainer.DestroyScope(session.SessionId);
     foreach (var taskSource in taskDict.Values)
     {
         taskSource.SetException(new Exception("Disconnected with the server"));
     }
 }
Example #3
0
        public override void OnReceived(ITcpClientSession session, IDynamicBuffer dataBuffer)
        {
            byte[] result = new byte[dataBuffer.DataSize];
            Buffer.BlockCopy(dataBuffer.Buffer, 0, result, 0, dataBuffer.DataSize);
            TaskCompletionSource <byte[]> tSource;

            if (taskQueue.TryDequeue(out tSource))
            {
                tSource.SetResult(result);
            }
        }
Example #4
0
        public override void OnReceived(ITcpClientSession session, IDynamicBuffer dataBuffer)
        {
            int          cmd = dataBuffer.Buffer[0];
            MemoryStream ms  = new MemoryStream(dataBuffer.Buffer, 1, dataBuffer.DataSize - 1);

            switch (cmd)
            {
            case 1:
            {
                RpcCallData data = Serializer.Deserialize <RpcCallData>(ms);
                ThreadPool.QueueUserWorkItem(CallFunc, data);
            }
            break;

            case 2:
            {
                var data = Serializer.Deserialize <RpcReturnData>(ms);
                TaskCompletionSource <byte[]> tSource;
                if (taskDict.TryRemove(data.Id, out tSource))
                {
                    tSource.SetResult(data.Value);
                }
            }
            break;

            default:
            {
                var info = Serializer.Deserialize <RpcErrorInfo>(ms);
                TaskCompletionSource <byte[]> tSource;
                if (taskDict.TryRemove(info.Id, out tSource))
                {
                    tSource.SetException(new Exception(info.Message));
                }
            }
            break;
            }
            ms.Dispose();
        }
Example #5
0
 public override void OnReceived(ITcpClientSession session, IDynamicBuffer dataBuffer)
 {
     byte[] result = new byte[dataBuffer.DataSize];
     Buffer.BlockCopy(dataBuffer.Buffer, 0, result, 0, dataBuffer.DataSize);
     tSource.SetResult(result);
 }
Example #6
0
 public void Disconnect(ITcpClientSession sesseion)
 {
     sesseion.DisConnect();
 }
 public void Push(ITcpClientSession item)
 {
     if (activeDict.TryRemove(item.SessionId, out item))
         pool.Enqueue(item);
 }
Example #8
0
 public override void OnDisConnect(ITcpClientSession session)
 {
     Console.WriteLine("与服务器断开连接");
 }
Example #9
0
 public override void OnReceived(ITcpClientSession session, IDynamicBuffer dataBuffer)
 {
     byte[] result = new byte[dataBuffer.DataSize];
     Buffer.BlockCopy(dataBuffer.Buffer, 0, result,0, dataBuffer.DataSize);
     tSource.SetResult(result);
 }
Example #10
0
 public override void OnReceived(ITcpClientSession session, IDynamicBuffer dataBuffer)
 {
     Received(session, dataBuffer);
 }
Example #11
0
 public static void DisConnected(object sender, ITcpClientSession session)
 {
     Console.WriteLine("与服务器断开连接");
 }
Example #12
0
 //断开连接事件
 public virtual void OnDisConnect(ITcpClientSession session)
 {
 }
Example #13
0
 public override void OnDisConnect(ITcpClientSession session)
 {
     Console.WriteLine("与服务器断开连接");
 }
Example #14
0
 public virtual void OnConnected(ITcpClientSession session)
 {
 }
Example #15
0
 //当接收到命令包时触发
 public virtual void OnReceived(ITcpClientSession session, IDynamicBuffer dataBuffer)
 {
 }
Example #16
0
 public static void Connected(object sender, ITcpClientSession session)
 {
     Console.WriteLine("连接成功,开始接受数据");
     Session = session;
 }
Example #17
0
 public static void Connected(object sender, ITcpClientSession session)
 {
     Console.WriteLine("连接成功,开始接受数据");
     Session = session;
 }
Example #18
0
 public static void DisConnected(object sender, ITcpClientSession session)
 {
     Console.WriteLine("与服务器断开连接");
 }
Example #19
0
 public override void OnReceived(ITcpClientSession session, IDynamicBuffer dataBuffer)
 {
     Received(session, dataBuffer);
 }
Example #20
0
 //断开连接事件
 public virtual void OnDisConnect(ITcpClientSession session)
 {
 }
Example #21
0
 public override void OnConnected(ITcpClientSession session)
 {
     RpcContainer.CreateScope(session.SessionId);
 }
Example #22
0
 public virtual void OnConnected(ITcpClientSession session)
 {
 }
Example #23
0
 public void ReceiveCommond(ITcpClientSession session, ReceiveCommond cmd)
 {
     OnReceived(this, cmd);
 }
Example #24
0
 //当接收到命令包时触发
 public virtual void OnReceived(ITcpClientSession session, IDynamicBuffer dataBuffer)
 {
 }
Example #25
0
 public void ReceiveCommond(ITcpClientSession session, ReceiveCommond cmd)
 {
     OnReceived(this, cmd);
 }