Mina 使用ProtoBuffer 序列化出了点问题。有高手请进。万急....
public class MinaClientHanlder extends IoHandlerAdapter {
public void sessionOpened(IoSession session) throws Exception {
System.out.println("sessionOpened");
OpRequest.Builder builder = OpRequest.newBuilder();
builder.setMsg("1111111");
OpRequest request = builder.build();
byte[]data = request.toByteArray();
ByteBuffer buffer = ByteBuffer.wrap(data);
session.write(getObject(buffer));
}
public Object getObject(ByteBuffer byteBuffer) throws IOException, ClassNotFoundException
{
IoBuffer buffer = IoBuffer.allocate(byteBuffer.capacity()).setAutoExpand(true);
for(int i=0; i<byteBuffer.capacity();i++)
{
byteBuffer.position(i);
buffer.put(byteBuffer.get());
}
buffer.position(0);
InputStream input = buffer.asInputStream();
ObjectInputStream oi = new ObjectInputStream(input);
Object obj = oi.readObject();
input.close();
oi.close();
return obj;
} 连接后会出现exceptionCaught invalid stream header: 12073131
胜是不解啊,求大神们帮帮忙。或者有这方面经验的朋友可以说一下你们是怎么处理的。谢谢
...全文


Java SE
