public override void OnReceived(ITcpSession 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, new CallStatus() { Session = session, Data = data }); } break; case 2: { var data = Serializer.Deserialize <RpcReturnData>(ms); RpcFactory.GetInvoke(session.SessionId).ReturnData(data); } break; default: { var data = Serializer.Deserialize <RpcErrorInfo>(ms); RpcFactory.GetInvoke(session.SessionId).ReturnError(data); } break; } ms.Dispose(); }
public static void ReceiveCommond(object sender, IDynamicBuffer data) { if (Interlocked.Increment(ref receiveCount) >= allCount) { sb.Stop(); Console.WriteLine("接收{0}次数据完成,运行时间:{1} 秒{2}毫秒", allCount, sb.Elapsed.Seconds, sb.Elapsed.Milliseconds); } }
public override void OnReceived(ITcpSession session, IDynamicBuffer dataBuffer) { var result = new byte[dataBuffer.DataSize]; Buffer.BlockCopy(dataBuffer.Buffer, 0, result, 0, dataBuffer.DataSize); //var txt= Encoding.UTF8.GetString(result); session.SendAsync(data); }
public override void OnReceived(ITcpSession session, IDynamicBuffer dataBuffer) { // var result = new byte[dataBuffer.DataSize]; //Buffer.BlockCopy(dataBuffer.Buffer, 0, result, 0, dataBuffer.DataSize); //session.SessionData.Set("islogin", true);//设置登录状态 //var txt= Encoding.UTF8.GetString(result); session.SendAsync(data); }
public override void OnReceived(ITcpSession session, IDynamicBuffer dataBuffer) { //Stream str = new MemoryStream(); // var result = new byte[dataBuffer.DataSize]; //Buffer.BlockCopy(dataBuffer.Buffer, 0, result, 0, dataBuffer.DataSize); //session.SessionData.Set("islogin", true);//设置登录状态 //var txt= Encoding.UTF8.GetString(result); session.SendAsync(data); }
public override void OnReceived(IRUdpSession session, IDynamicBuffer dataBuffer) { var result = new byte[dataBuffer.DataSize]; Buffer.BlockCopy(dataBuffer.Buffer, 0, result, 0, dataBuffer.DataSize); session.SessionData.Set("islogin", true);//设置登录状态 var txt = Encoding.UTF8.GetString(result); Console.WriteLine(txt); // session.SendAsync(data); }
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); } }
public static void CopyTo <T>(this ICollection <T> collection, IDynamicBuffer <T> buffer) where T : unmanaged { var count = collection.Count; buffer.Reserve(count); foreach (var value in collection) { buffer.Write(value); } }
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(); }
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); }
public override void OnReceived(ITcpClientSession session, IDynamicBuffer dataBuffer) { Received(session, dataBuffer); }
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); }
//当接收到命令包时触发 public virtual void OnReceived(ITcpSession session, IDynamicBuffer dataBuffer) { }
public override void OnReceived(ITcpSession 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, new CallStatus() { Session = session, Data = data }); } break; case 2: { var data = Serializer.Deserialize<RpcReturnData>(ms); RpcFactory.GetInvoke(session.SessionId).ReturnData(data); } break; default: { var data = Serializer.Deserialize<RpcErrorInfo>(ms); RpcFactory.GetInvoke(session.SessionId).ReturnError(data); } break; } ms.Dispose(); }
public override void OnReceived(IRUdpSession session, IDynamicBuffer dataBuffer) { var result = new byte[dataBuffer.DataSize]; Buffer.BlockCopy(dataBuffer.Buffer, 0, result, 0, dataBuffer.DataSize); var txt = Encoding.UTF8.GetString(result); Console.WriteLine(txt); session.SendAsync(data); }
//当接收到命令包时触发 public virtual void OnReceived(ITcpClientSession session, IDynamicBuffer dataBuffer) { }
//当接收到命令包时触发 public virtual void OnReceived(IRUdpSession session, IDynamicBuffer dataBuffer) { }