资源简介
使用了DDS标准来进行通信,在VS08中使用QT编写了界面程序,支持图形显示,是学习DDS的典型例子
代码片段和文件信息
// -*- C++ -*-
//
// $Id: DataReaderListener.cpp 2014-08-28 20:19:02 lyb $
#include “DataReaderListener.h“
#include “ShapeDemoTypeSupportC.h“
#include “ShapeDemoTypeSupportImpl.h“
#include
#include
using namespace ShapeDemo;
// Implementation skeleton constructor
DataReaderListenerImpl::DataReaderListenerImpl()
{
shape_.xpos = shape_.ypos = 0;
delay_ = 0;
}
// Implementation skeleton destructor
DataReaderListenerImpl::~DataReaderListenerImpl ()
{
}
void DataReaderListenerImpl::on_data_available(DDS::DataReader_ptr reader)
throw (CORBA::SystemException)
{
try {
unsigned long long CurTime = GetCurTime();
ShapeDataReader_var message_dr = ShapeDataReader::_narrow(reader);
if (CORBA::is_nil (message_dr.in ())) {
//cerr << “read: _narrow failed.“ << endl;
return ;
}
DDS::SampleInfo si ;
DDS::ReturnCode_t status = message_dr->take_next_sample(shape_ si);
delay_ = CurTime - shape_.timestamp;
if (status == DDS::RETCODE_OK) {
} else if (status == DDS::RETCODE_NO_DATA) {
//cerr << “ERROR: reader received DDS::RETCODE_NO_DATA!“ << endl;
} else {
//cerr << “ERROR: read Shape: Error: “ << status << endl;
}
} catch (...) {
//cerr << “Exception caught in read:“ << endl << e << endl;
return ;
}
}
void DataReaderListenerImpl::on_requested_deadline_missed (
DDS::DataReader_ptr
const DDS::RequestedDeadlineMissedStatus &)
throw (CORBA::SystemException)
{
//cerr << “DataReaderListenerImpl::on_requested_deadline_missed“ << endl;
}
void DataReaderListenerImpl::on_requested_incompatible_qos (
DDS::DataReader_ptr
const DDS::RequestedIncompatibleQosStatus &)
throw (CORBA::SystemException)
{
//cerr << “DataReaderListenerImpl::on_requested_incompatible_qos“ << endl;
}
void DataReaderListenerImpl::on_liveliness_changed (
DDS::DataReader_ptr
const DDS::LivelinessChangedStatus &)
throw (CORBA::SystemException)
{
//cerr << “DataReaderListenerImpl::on_liveliness_changed“ << endl;
}
void DataReaderListenerImpl::on_subscription_matched (
DDS::DataReader_ptr
const DDS::SubscriptionMatchedStatus &)
throw (CORBA::SystemException)
{
//cerr << “DataReaderListenerImpl::on_subscription_matched“ << endl;
}
void DataReaderListenerImpl::on_sample_rejected(
DDS::DataReader_ptr
const DDS::SampleRejectedStatus&)
throw (CORBA::SystemException)
{
//cerr << “DataReaderListenerImpl::on_sample_rejected“ << endl;
}
void DataReaderListenerImpl::on_sample_lost(
DDS::DataReader_ptr
const DDS::SampleLostStatus&)
throw (CORBA::SystemException)
{
//cerr << “DataReaderListenerImpl::on_sample_lost“ << endl;
}
void DataReaderListenerImpl::on_subscription_disconnected (
DDS::DataReader_ptr
const ::OpenDDS::DCPS::SubscriptionDisconnectedStatus &)
throw (CORBA::SystemException)
{
//cerr << “DataReaderListenerImpl::on_subscription_disconnected“ << endl;
}
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 4051 2014-10-05 12:59 ShapeDemo\DataReaderListener.cpp
文件 2678 2014-10-05 12:56 ShapeDemo\DataReaderListener.h
文件 5825 2014-09-09 16:47 ShapeDemo\MainFrm.cpp
文件 1103 2014-09-07 12:20 ShapeDemo\MainFrm.h
文件 23 2014-06-27 15:24 ShapeDemo\mpc.bat
文件 341 2014-10-12 23:05 ShapeDemo\Release\dds_rtps_dis_conf.ini
文件 67777 2007-11-28 16:21 ShapeDemo\res\ShapeDemo.ico
文件 365 2014-02-17 13:50 ShapeDemo\res\ShapeDemo.rc2
文件 1724 2014-09-07 20:00 ShapeDemo\resource.h
文件 112404 2014-09-09 16:54 ShapeDemo\ShapeDemo.aps
文件 3830 2014-09-07 19:49 ShapeDemo\ShapeDemo.cpp
文件 641 2014-02-17 13:50 ShapeDemo\ShapeDemo.h
文件 272 2014-09-15 22:37 ShapeDemo\ShapeDemo.idl
文件 304 2014-02-17 14:30 ShapeDemo\ShapeDemo.mpc
文件 11455 2014-09-09 16:54 ShapeDemo\ShapeDemo.rc
文件 2011 2014-10-12 23:14 ShapeDemo\ShapeDemo.sln
文件 6428 2014-06-27 19:25 ShapeDemo\ShapeDemo.vcproj
文件 1075 2014-09-09 16:57 ShapeDemo\ShapeDemoDoc.cpp
文件 566 2014-09-09 16:58 ShapeDemo\ShapeDemoDoc.h
文件 15112 2015-04-15 21:46 ShapeDemo\ShapeDemoView.cpp
文件 2837 2014-10-17 00:05 ShapeDemo\ShapeDemoView.h
文件 2195 2014-02-17 13:33 ShapeDemo\ShapeDemo_export.h
文件 20609 2014-09-07 00:30 ShapeDemo\ShapeDemo_Idl.vcproj
文件 142 2014-02-17 13:50 ShapeDemo\stdafx.cpp
文件 1809 2014-06-27 15:48 ShapeDemo\stdafx.h
文件 1030 2014-02-17 13:50 ShapeDemo\targetver.h
目录 0 2014-11-18 17:47 ShapeDemo\Release
目录 0 2014-10-20 20:20 ShapeDemo\res
目录 0 2014-11-18 17:47 ShapeDemo
----------- --------- ---------- ----- ----
............此处省略2个文件信息
相关资源
- qt模拟交通信号灯
- DDS verilog程序
- 北大青鸟通信接口卡协议2.1.pdf
- 基于IIC通信的EEPROM读/写Verilog/VHDL程序
- Brother操作说明书(数据)_通信节选
- ESP8266通信源码+继电器控制
- 基于FPGA的spi通信
- UDP通信.rar
- 通信电路课后答案
- 两片单片机之间的串行通信(proteus仿
- QT5串口通信程序源码
- labview平台下计算机之间利用共享变量
- STM32F103VCT6+W5500 TCP 服务端通信成功开
- 通信信号自动调制识别程序
- Qt下基于snap7西门子PLC通信.zip
- 数字逻辑课程设计 交通信号控制器的
- linux下多线程socket通信完整源码文件
- Socket通信,通过异步,解决粘包问题
- 数据通信五大技术.xmind
- STM32 USART1 USART2 UASRT3 UART4 UART5串口通信
- STM32 MCP2515 CAN 通信收发程序,调试通
- 使用USB HID方式遍历所有usb设备,并以
- 台达PLC通信程序VC
- 单片机实验 串行通信
- 使用Qt实现TCP中客户端和服务器的交互
- 用于通信的4PPM编码verilog代码
- 东南大学计算机系通信电子线路基础
- E4A(易安卓) BLE通信
- QT串口通信实例62216
- 基于Proteus的温度传感器串口通信仿真
评论
共有 条评论