Kryonet - 如何在序列化期间获取发件人(连接)?

时间:2016-10-06 21:26:30

标签: serialization kryonet

我有一个巨大而巨大的问题。我使用AES序列化来处理数据包,这就出现了问题。

Kryo中的序列化程序如下所示:

public class AESSerializer extends Serializer {
    private final Serializer serializer;

    public AESSerializer (Serializer serializer) {
       this.serializer = serializer;
    }

    public void write (Kryo kryo, Output output, Object object) {
        // USE AES KEY TO ENCRYPT
        // WRITE OBJECT
    }

    public Object read (Kryo kryo, Input input, Class type) {
        // USE AES KEY TO DECRYPT
        // READ OBJECT
    }

}

问题在于每个用户必须拥有自己的SecretAESKey 。我无法找到任何方法来查看序列化程序中的连接列表,当我阅读Kryonet的代码时 - 他们不会将它传递到任何地方。我需要获取写入对象的Connection以获取它的AES密钥。

Serializer构造函数不是一个选项,因为序列化程序是每个应用程序一个,而不是每个用户。

你们有没有想过如何处理这样的事情?

1 个答案:

答案 0 :(得分:0)

Kryo已经内置了这段代码:

String

在您的序列化调用中:

TokenStream

你有联系。