Java 用户未接收数据-rti dds
我创建了一个示例rti dds java项目。 但是,如果writer.write()不在线程睡眠的循环中,则订阅服务器不会接收数据 订阅服务器未获取数据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
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()之前最后一次写入,然后想知道为什么连接的订阅者没有得到最终发布。