java kryo register_Java Kryonet [类未注册例外]

我发现这个API称为Kryonet。那么,我试图实现项目页面中提供的示例。但是,这并不成功。

服务器代码:

public class KryoTest {

public KryoTest() throws IOException {

Server server = new Server();

server.start();

server.bind(54555, 54777);

server.addListener(new Listener() {

public void received(Connection connection, Object object) {

if (object instanceof SomeRequest) {

SomeRequest request = (SomeRequest) object;

System.out.println(request.text);

SomeResponse response = new SomeResponse();

response.text = "Thanks!";

connection.sendTCP(response);

}

}

});

Kryo kryo = server.getKryo();

kryo.register(SomeRequest.class);

kryo.register(SomeResponse.class);

}

public static void main(String[] args) throws IOException {

new KryoTest();

}}客户代码:

public class Kryoclient {

public Kryoclient() throws IOException {

Client client = new Client();

client.start();

client.connect(5000,"192.168.1.4", 54555, 54777);

SomeRequest request = new SomeRequest();

request.text = "Here is the request!";

client.sendTCP(request);

Kryo kryo = client.getKryo();

kryo.register(SomeRequest.class);

kryo.register(SomeResponse.class);

}

public static void main(String[] args) throws IOException {

new Kryoclient();

}

}例外:

run:

00:00 INFO: Connecting: /192.168.1.4:54555/54777

00:00 INFO: [kryonet] Connection 1 connected: /192.168.1.4

Exception in thread "main" java.lang.IllegalArgumentException: Class is not registered: client.SomeRequest

at com.esotericsoftware.kryo.Kryo.getRegisteredClass(Kryo.java:319)

at com.esotericsoftware.kryo.Kryo.writeClass(Kryo.java:374)

at com.esotericsoftware.kryo.Kryo.writeClassAndObject(Kryo.java:484)

at com.esotericsoftware.kryonet.TcpConnection.send(TcpConnection.java:196)

at com.esotericsoftware.kryonet.Connection.sendTCP(Connection.java:68)

at client.Kryoclient.(Kryoclient.java:24)

at client.Kryoclient.main(Kryoclient.java:30)这段代码有什么问题?

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值