2
发送它当我读到服务器的响应后,投我的目标,我得到合适的对象,但是当我尝试将其转换为数据包,我得到这个异常:我不能网状
java.lang.ClassCastException: java.lang.String cannot be cast to server.Packet
at server.JCoincheServerHandler.channelRead(JCoincheServerHandler.java:21)
这是我的包类:
public class Packet implements Serializable
{
public int code;
int intData;
String data;
String user;
}
这是我如何把它在我的客户: 发送成功后,“发送失败”从不打印
public void sendMessage(Object object)
{
ChannelFuture cf = _chan.write(object);
_chan.flush();
if (!cf.isSuccess()) {
System.out.println("Send failed: " + cf.cause());
}
}
这是我在我的服务器阅读:
@Override
public void channelRead(ChannelHandlerContext ctx, Object msg) {
Packet packet = (Packet) msg;
System.out.println(packet.data);
System.out.println("Message received");
}
我做了什么错?
编辑:
p.addLast(
new ObjectEncoder(),
new ObjectDecoder(ClassResolvers.cacheDisabled(null)),
handler);
你的管道是什么样的?需要知道哪些处理程序正在添加以及以何种顺序 –
@ ChrisO'Toole我编辑了我的文章 –
您是否可能发送字符串而不是数据包? –