1

我是 Javolution 和 C/C++ 的新手。但到目前为止我真的很喜欢它,而且我认为让代码更干净。

我一直在玩 UDP 示例,可以在这里找到 http://javolution.org/target/site/apidocs/javolution/io/Struct.html

它运行良好,除非我使用 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 发送字符串?

谢谢你,安东尼

4

0 回答 0