我是 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 发送字符串?
谢谢你,安东尼