public void writeBytes(ByteBuf buf, int maxSize) { if (buf.remainBytes() > maxSize) { writeBytes(buf.getBuffer(), buf.getReaderIndex(), maxSize); buf.skipReaderIndex(maxSize); } else { writeBytes(buf); } }
public void writeBytes(ByteBuf buf) { int maxSize = getCapacity() - writerIndex; int remainBytes = buf.remainBytes(); if (remainBytes < maxSize) { maxSize = remainBytes; } writeBytes(buf.getBuffer(), buf.getReaderIndex(), maxSize); buf.skipReaderIndex(maxSize); }
public override void read(ConnectionHandlerContext ctx, object msg) { ByteBuf buf = (ByteBuf)msg; //System.Console.WriteLine("receive bytes " + buf.remainBytes()); MemoryStream ms = new MemoryStream(buf.getBuffer(), buf.getReaderIndex(), buf.remainBytes()); T obj = ProtoBuf.Serializer.Deserialize <T>(ms); buf.skipReaderIndex((int)ms.Position); if (receiveObjFunc != null) { receiveObjFunc(obj); } }
public override void invokeWrite(object message) { ByteBuf buf = (ByteBuf)message; /* * var output = new System.IO.FileStream(Application.dataPath + "\\buf.txt", System.IO.FileMode.Append); * var writer = new System.IO.StreamWriter(output, System.Text.Encoding.UTF8); * writer.WriteLine("buf.remainBytes() = " + buf.remainBytes().ToString()); * writer.Close(); * output.Close(); */ Socket clientSocket = this.connection.getClientSocket(); clientSocket.Send(buf.getBuffer(), buf.getReaderIndex(), buf.remainBytes(), SocketFlags.None); }
public override void invokeRead(object message) { //base.invokeRead (message); ByteBuf buf = (ByteBuf)message; Encoding encoding = System.Text.UTF8Encoding.Default; System.Console.WriteLine("Not Implemented buffer " + encoding.GetString(buf.getBuffer(), buf.getReaderIndex(), buf.getWriterIndex())); }