Java 用户未接收数据-rti dds

Java 用户未接收数据-rti dds,java,data-distribution-service,Java,Data Distribution Service,我创建了一个示例rti dds java项目。 但是,如果writer.write()不在线程睡眠的循环中,则订阅服务器不会接收数据 订阅服务器未获取数据 instance.ID = 10; instance.value = 3.14; writer.write(instance, instance_handle); 订户得到的数据是什么 for (int count = 0; (sampleCount == 0) || (count < sampleCo

我创建了一个示例rti dds java项目。 但是,如果writer.write()不在线程睡眠的循环中,则订阅服务器不会接收数据

订阅服务器未获取数据

instance.ID = 10;
instance.value = 3.14;
writer.write(instance, instance_handle);
订户得到的数据是什么

        for (int count = 0;
        (sampleCount == 0) || (count < sampleCount);
        ++count) {
            System.out.println("Writing myExample, count " + count);

            /* Modify the instance to be written here */

            /* Write data */
            instance.ID = 10;
            instance.value = 3.14;
            writer.write(instance, instance_handle);
            try {
                Thread.sleep(sendPeriodMillis);
            } catch (InterruptedException ix) {
                System.err.println("INTERRUPTED");
                break;
            }
        }
for(int count=0;
(采样计数==0)| |(计数<采样计数);
++计数){
System.out.println(“写入myExample,count”+count);
/*修改要在此处编写的实例*/
/*写入数据*/
instance.ID=10;
instance.value=3.14;
writer.write(实例,实例句柄);
试一试{
线程。睡眠(毫秒);
}捕获(中断异常ix){
系统错误打印项次(“中断”);
打破
}
}

您是否知道发布者发现订阅者和订阅者发现订阅者的过程是异步的?这意味着您可能在当前订阅者和发布者意识到彼此的存在之前执行
write()
调用。因此,通信(尚未)发生。这与您的经验相符吗?Reiner的评论补充道,我们看不到直接写入的情况——我看到人们在System.exit()之前最后一次写入,然后想知道为什么连接的订阅者没有得到最终发布。