public void OnTransportWrite(IUdpSession session, ref WrappedWriter writer, WrappedArgs args) { //Console.WriteLine($"{nameof(UdpFilter_2)}.{nameof(OnTransportWrite)}"); var buffer = args.Value as byte[]; writer.Write(buffer); }
public void OnTransportWrite(ITcpSession session, ref WrappedWriter writer, WrappedArgs args) { var buffer = args.Value as byte[]; writer.Write(buffer); writer.Write(this.symbol); }
public void OnTransportRead(IUdpSession session, ref WrappedReader reader, WrappedArgs args) { long length = reader.Length; var buffer = reader.ReadBuffer((int)length); //string str= System.Text.Encoding.UTF8.GetString(buffer.FirstSpan); //Console.WriteLine($"{nameof(UdpFilter_2)}.{nameof(OnTransportRead)}>>LoaclAddress:{session.LocalAddress} remoteAddress:{session.RcvAddress}>>" + str); }
public void OnTransportRead(IKcpSession session, ref WrappedReader reader, WrappedArgs args) { int length = (int)reader.Length; var buffer = reader.ReadBuffer(length); //string str = System.Text.Encoding.UTF8.GetString(buffer.FirstSpan); //Console.WriteLine($"频道:{session.Conv},收到消息:{str}" ); }
public void OnTransportRead(IUdpSession session, ref WrappedReader reader, WrappedArgs args) { this.buffers.Clear(); var buffer = reader.ReadBuffer((int)reader.Length); this.buffers.Add(buffer.First.GetBinaryArray()); args.Value = this.buffers; }
public void OnTransportWrite(IUdpSession session, ref WrappedWriter writer, WrappedArgs args) { if (this.isInvalid || this.isStop) { return; } this.controller.OnUdpMessageOutput(session, ref writer, args); }
public void OnTransportWrite(IUdpSession session, ref WrappedWriter writer, WrappedArgs args) { byte[] bytes = args.Value as byte[]; if (bytes != null) { writer.Write(bytes.Length); writer.Write(bytes); } }
public void OnTransportRead(IUdpSession session, ref WrappedReader reader, WrappedArgs args) { if (this.isInvalid || this.isStop) { return; } this.controller.OnUdpMessageInput(session, ref reader, args); }
public void OnTransportRead(ITcpSession session, ref WrappedReader reader, WrappedArgs args) { List <ReadOnlySequence <byte> > buffers = (List <ReadOnlySequence <byte> >)args.Value; for (int i = 0; i < buffers.Count; i++) { session.Write(SocketConfig.message); } session.FlushAsync().NoAwait(); }
public void OnTransportRead(ITcpSession session, ref WrappedReader reader, WrappedArgs args) { this.buffers.Clear(); args.Value = this.buffers; while (reader.TryFindPosition(this.symbol, out SequencePosition endPosition)) { var buffer = reader.ReadBuffer(endPosition); var length = buffer.Length - this.symbol.Length; this.buffers.Add(buffer.Slice(buffer.Start, length)); } }
public void OnTransportWrite(ITcpSession session, ref WrappedWriter writer, WrappedArgs args) { var buffer = args.Value as byte[]; if (buffer.Length > this.maxPackLength) { throw new Exception("pack length error!!!" + buffer.Length); } writer.Write((int)buffer.Length); writer.Write(buffer); }
public void OnTransportRead(ITcpSession session, ref WrappedReader reader, WrappedArgs args) { Console.WriteLine($"{nameof(TcpTestFilter_Client)}.{nameof(OnTransportRead)}"); List <ReadOnlySequence <byte> > buffers = (List <ReadOnlySequence <byte> >)args.Value; for (int i = 0; i < buffers.Count; i++) { var buffer = buffers[i]; string str = System.Text.Encoding.UTF8.GetString(buffer.FirstSpan); Console.WriteLine("收到》》" + str); } }
public void OnTransportRead(ITcpSession session, ref WrappedReader reader, WrappedArgs args) { this.buffers.Clear(); args.Value = this.buffers; while (reader.IsLengthEnough(this.currentReadLength)) { if (this.currentReadPart == PackPart.Head) { this.currentReadLength = reader.ReadInt32(); if (this.currentReadLength > this.maxPackLength) { throw new Exception("pack length error!!!" + currentReadLength); } this.currentReadPart = PackPart.Body; } else if (this.currentReadPart == PackPart.Body) { this.buffers.Add(reader.ReadBuffer(this.currentReadLength)); this.currentReadLength = PackHeaderBytesLen; this.currentReadPart = PackPart.Head; } } }
public void OnTransportWrite(IKcpSession session, ref WrappedWriter writer, WrappedArgs args) { byte[] bytes = args.Value as byte[]; //Console.WriteLine("kcp pipeline写入数据>>" + bytes.Length); writer.Write(bytes); }
public override void OnUdpMessageOutput(IUdpSession session, ref WrappedWriter writer, WrappedArgs args) { IWrappedMemory memory = args.Value as IWrappedMemory; if (memory.Flag == MemoryFlag.Kcp) { //kcp协议 writer.Write(k_message); } else if (memory.Flag == MemoryFlag.Udp) { //普通udp协议 writer.Write(c_message); } writer.Write(memory.GetReadableMemory()); }
public override void OnUdpMessageInput(IUdpSession session, ref WrappedReader reader, WrappedArgs args) { //消息类型 var messageType = reader.ReadInt32(); var buffer = reader.ReadBuffer((int)reader.Length); //频道号 var convSpan = buffer.Slice(buffer.Start, 4).First.Span; var conv = base.OrderOperators.ReadUInt32(convSpan); if (!this.sessions.ContainsKey(conv)) { return; } var kcpSession = this.sessions[conv]; if (messageType == k_message) { base.SendKcpMessageTo(kcpSession, ref buffer); } else if (messageType == c_message) { base.SendUdpMessageTo(kcpSession, ref buffer); } }
public void OnTransportWrite(ITcpSession session, ref WrappedWriter writer, WrappedArgs args) { }
public abstract void OnUdpMessageOutput(IUdpSession session, ref WrappedWriter writer, WrappedArgs args);
public abstract void OnUdpMessageInput(IUdpSession session, ref WrappedReader reader, WrappedArgs args);
public void OnTransportWrite(ITcpSession session, ref WrappedWriter writer, WrappedArgs args) { // Console.WriteLine($"{nameof(TcpTestFilter_Client)}.{nameof(OnTransportWrite)}"); }