Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/341.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 我能';Don’我和netty一起寄出后,就不要扔我的东西了_Java_Networking_Netty - Fatal编程技术网

Java 我能';Don’我和netty一起寄出后,就不要扔我的东西了

Java 我能';Don’我和netty一起寄出后,就不要扔我的东西了,java,networking,netty,Java,Networking,Netty,当我在服务器中读取响应时,我得到了正确的对象,但当我尝试将其转换为数据包时,我得到了以下异常: java.lang.ClassCastException: java.lang.String cannot be cast to server.Packet at server.JCoincheServerHandler.channelRead(JCoincheServerHandler.java:21) 这是我的包类: public class Packet implements Seri

当我在服务器中读取响应时,我得到了正确的对象,但当我尝试将其转换为数据包时,我得到了以下异常:

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");
   }
我做错了什么

编辑:


您的客户端必须正在发送字符串

还要验证您的客户机和服务器是否共享该类数据包,并且该类应位于同一数据包中


例如common.Packet

您的管道是什么样子的?需要知道正在添加哪些处理程序以及在哪些处理程序中添加order@ChrisO“Toole我编辑了我的帖子有可能你发送的是字符串而不是数据包吗?@ChrisO”Toole没有,我发送的是数据包
p.addLast(
          new ObjectEncoder(),
          new ObjectDecoder(ClassResolvers.cacheDisabled(null)),
          handler);