我正在做一个小项目,在这个项目中,我在我的电脑上运行一个端点,并从树莓派发送和接收一些事件(两者都带有java代码)。 直到昨天我才收到并发送事件没有任何问题。现在,当我尝试发送事件时,它无法到达目的地,只有在我运行代码时才会收到事件。 两个端点都在附加用户而没有问题,并且发送事件但没有接收。 这是来自raspberry pi的日志,它是发送事件的端点:
从kaa登录
https://drive.google.com/open?id=0B9lKSxYrllLpdFhVcm53NHZmc1U
答案 0 :(得分:0)
问题可能出在密钥生成期间初始化kaa客户端,适用于您的终端应用。 基于kaa客户端初始化,应用程序可以在第一次启动时生成公钥和私钥,以便端点访问服务器。 请参阅如何在java中初始化它的示例,其中密钥生成为 keys_for_java_event_demo文件夹:
// Setup working directory for endpoint
KaaClientProperties endpointProperties = new KaaClientProperties();
endpointProperties.setWorkingDirectory("keys_for_java_event_demo");
// Create the Kaa desktop context for the application
DesktopKaaPlatformContext desktopKaaPlatformContext = new DesktopKaaPlatformContext(endpointProperties);
// Create a Kaa client and add a listener which creates a log record
// as soon as the Kaa client is started.
final CountDownLatch startupLatch = new CountDownLatch(1);
final SimpleKaaClientStateListener listener = new SimpleKaaClientStateListener() {
@Override
public void onStarted() {
LOG.info("--= Kaa client started =--");
startupLatch.countDown();
}
@Override
public void onStopped() {
LOG.info("--= Kaa client stopped =--");
}
};
KaaClient kaaClient = Kaa.newClient(desktopKaaPlatformContext, listener, true);
//Start the Kaa client and connect it to the Kaa server.
kaaClient.start();
startupLatch.await();
如果您只是重新启动应用程序,因为现有的密钥不会再次生成密钥,那么只需在重新启动应用程序之前尝试删除密钥文件夹。 另一件事是,每当您对事件类系列进行一些更改时,您应该为每个客户端应用程序生成和替换SDK。请参阅有关活动管理的Kaa documentation页面的更多信息。