Java Javolution字符串UDP

Java Javolution字符串UDP,java,struct,udp,javolution,Java,Struct,Udp,Javolution,我不熟悉Javolution和C/C++。但到目前为止,我真的很喜欢它,我认为它使代码更加清晰 我一直在玩UDP的例子,可以在这里找到 除了我使用UTF8String外,它工作得很好。这正常吗 所以我有一个 像这样的结构 public class UserTest extends Struct { public Unsigned8 age = new Unsigned8(); public UTF8String name = new UTF8String(8); } 然后

我不熟悉Javolution和C/C++。但到目前为止,我真的很喜欢它,我认为它使代码更加清晰

我一直在玩UDP的例子,可以在这里找到

除了我使用UTF8String外,它工作得很好。这正常吗

所以我有一个 像这样的结构

public class UserTest extends Struct
{
    public Unsigned8 age  = new Unsigned8();
    public UTF8String name  = new UTF8String(8);
}
然后我有另一个类,它通过udp结构发送数据

ByteBuffer buf = ByteBuffer.allocate(1400);
DatagramChannel channel = DatagramChannel.open(); 
channel.connect(new InetSocketAddress("localhost", 54300));
buf.clear();
buf.put(userStruct.getByteBuffer());
buf.flip();
channel.write(buf);
现在,在连接的另一端,我有以下内容

channel.receive(buffer);
buffer.flip();
userStruct.getByteBuffer().put(buffer);
System.out.println("Do I have a name >>>> "+ userStruct.name.get());
System.out.println("Do I have an age >>>> "+ userStruct.age.get());
现在这不起作用,但我删除了名字,只保留了年龄,然后我可以检索年龄的值

是否可以通过网络上的Struct发送字符串

谢谢,,
安东尼

这在我看来是最不明智的。Javolution结构实现旨在匹配您正在运行的特定平台的本机结构格式。它并不意味着是一种通用的格式,在各种实现中都有意义。UDP协议应该在字节级别定义,不应该依赖于单个实现或平台的细节。感谢您的回答。但这似乎是一种传输字节而不进行任何序列化的好方法。如果您不想使用序列化、checkout ByteBuffer或Nettys ByteBuff,