我现在想把接收到的一个memoryStream流作为另一个RPC消息通信的变量,进行二次通信。
尝试把stream转成string,再还原会stream,但是貌似两个流并不是同一个。解析会报错
(ushort _, MemoryStream memoryStream) = MessageSerializeHelper.MessageToStream(msg);
memoryStream.Position = 0;
StreamReader reader = new StreamReader(memoryStream);
string text = reader.ReadToEnd();
MemoryStream stream = new MemoryStream();
StreamWriter writer = new StreamWriter(stream);
writer.Write(text);
writer.Flush();
ushort opcode = BitConverter.ToUInt16(stream.GetBuffer(), Packet.KcpOpcodeIndex);
Type type = OpcodeTypeComponent.Instance.GetType(opcode);
object message = MessageSerializeHelper.DeserializeFrom(opcode, type, stream);