Esempio n. 1
0
 public void Push(ITcpClientSession item)
 {
     if (activeDict.TryRemove(item.SessionId, out item))
     {
         pool.Enqueue(item);
     }
 }
Esempio n. 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"));
     }
 }
Esempio n. 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);
            }
        }
Esempio n. 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();
        }
Esempio n. 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);
 }
Esempio n. 6
0
 public void Disconnect(ITcpClientSession sesseion)
 {
     sesseion.DisConnect();
 }
 public void Push(ITcpClientSession item)
 {
     if (activeDict.TryRemove(item.SessionId, out item))
         pool.Enqueue(item);
 }
Esempio n. 8
0
 public override void OnDisConnect(ITcpClientSession session)
 {
     Console.WriteLine("与服务器断开连接");
 }
Esempio n. 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);
 }
Esempio n. 10
0
 public override void OnReceived(ITcpClientSession session, IDynamicBuffer dataBuffer)
 {
     Received(session, dataBuffer);
 }
Esempio n. 11
0
 public static void DisConnected(object sender, ITcpClientSession session)
 {
     Console.WriteLine("与服务器断开连接");
 }
Esempio n. 12
0
 //断开连接事件
 public virtual void OnDisConnect(ITcpClientSession session)
 {
 }
Esempio n. 13
0
 public override void OnDisConnect(ITcpClientSession session)
 {
     Console.WriteLine("与服务器断开连接");
 }
Esempio n. 14
0
 public virtual void OnConnected(ITcpClientSession session)
 {
 }
Esempio n. 15
0
 //当接收到命令包时触发
 public virtual void OnReceived(ITcpClientSession session, IDynamicBuffer dataBuffer)
 {
 }
Esempio n. 16
0
 public static void Connected(object sender, ITcpClientSession session)
 {
     Console.WriteLine("连接成功,开始接受数据");
     Session = session;
 }
Esempio n. 17
0
 public static void Connected(object sender, ITcpClientSession session)
 {
     Console.WriteLine("连接成功,开始接受数据");
     Session = session;
 }
Esempio n. 18
0
 public static void DisConnected(object sender, ITcpClientSession session)
 {
     Console.WriteLine("与服务器断开连接");
 }
Esempio n. 19
0
 public override void OnReceived(ITcpClientSession session, IDynamicBuffer dataBuffer)
 {
     Received(session, dataBuffer);
 }
Esempio n. 20
0
 //断开连接事件
 public virtual void OnDisConnect(ITcpClientSession session)
 {
 }
Esempio n. 21
0
 public override void OnConnected(ITcpClientSession session)
 {
     RpcContainer.CreateScope(session.SessionId);
 }
Esempio n. 22
0
 public virtual void OnConnected(ITcpClientSession session)
 {
 }
Esempio n. 23
0
 public void ReceiveCommond(ITcpClientSession session, ReceiveCommond cmd)
 {
     OnReceived(this, cmd);
 }
Esempio n. 24
0
 //当接收到命令包时触发
 public virtual void OnReceived(ITcpClientSession session, IDynamicBuffer dataBuffer)
 {
 }
Esempio n. 25
0
 public void ReceiveCommond(ITcpClientSession session, ReceiveCommond cmd)
 {
     OnReceived(this, cmd);
 }