Application PreviousNext
Data Distribution Service (DDS) Forum > DDS Technical Forum >
Next message sonia  posted on Tuesday, September 29, 2009 - 12:54 pm
Hi ,

I want step by step tutorial of using DDS in application. Actually I want to create simple sample application in C++ which will have multiple client-servers and will use DDS as middleware.How to achieve this?
Next message Angelo Corsaro  posted on Tuesday, September 29, 2009 - 01:01 pm
Hello Sonia,

If you want a gentle start to using DDS in C++ you might be want to take a look at SIMD (

This is the working implementation for the new C++ PSM that is being standardized for DDS. With SIMD there are few examples that should take your through the basic steps of getting started with DDS.

Finally, you can check some of the slides available here for an intro to DDS.

Next message gruhita sudhakar parab  posted on Thursday, February 25, 2010 - 11:37 am

I am using OpenSpliceDDSV4.3-x86.linux2.6-gcc344-gnuc23-HDE. I have installed it but it gives error when i try 'ospl start' to start Opensplice services it gives 'error: can not open 'ospl.xml'.

When I echo OSPL_URI it gives correct path of file.

What is cause for this??? If anybody can help me finding solution??
Next message Anonymous posted on Sunday, February 28, 2010 - 11:00 pm
To Gruhita,

OpenSplice DDS is configured using an XML configuration file,
The default configuration file is ospl.xml located in $OSPL_HOME/etc/config.
The default value of the environment variable OSPL_URI is set to this configuration
The configuration file defines and configures the following OpenSplice services:
• spliced - the default service, also called the domain service; the domain service
is responsible for starting and monitoring all other services
• durability - responsible for storing non-volatile data and keeping it consistent
within the domain (optional)
• networking - realizes user-configured communication between the nodes in a
• tuner - provides a SOAP interface for the OpenSplice Tuner to connect to the
node remotely from any other reachable node
The default Database Size that is mapped on a shared-memory segment is 10
The maximum user-creatable shared-memory segment is limited on certain
machines, including Solaris, so it must either be adjusted or OpenSplice must be
started as root.
A complete configuration file that enables durability as well as networking is shown
below. The bold parts are not enabled in the default configuration file, but editing
them will allow you to enable support for PERSISTENT data (instead of just
TRANSIENT or VOLATILE data) and to use multicast instead of broadcast.
Adding support for PERSISTENT data requires you to add the <Persistent>
element to the <DurabilityService> content (see the bold lines in the XML
example shown below). In this <Persistent> element you can then specify the
actual path to the directory for persistent-data storage (if it does not exist, the
directory will be created). In the example below this directory is /tmp/Pdata.

For the networking service, the network interface-address that is to be used is
specified by the <NetworkInterfaceAddress> element. The default value is set
to first available, meaning that OpenSplice will determine the first available
interface that is broadcast or multicast enabled. However, an alternative address
may be specified as well (specify as a.b.c.d).
The network service may use separate channels, each with their own name and their
own parameters (for example the port-number, the queue- size, and, if multicast
enabled, the multicast address). Channels are either reliable (all data flowing
through them is delivered reliably on the network level, regardless of QoS settings
of the corresponding writers) or not reliable (all data flowing through them is
delivered at most once, regardless of QoS settings of the corresponding writers).
The idea its that the network service chooses the most appropriate channel for each
DataWriter, i.e. the channel that fits its QoS settings the best.
Usually, networking shall be configured to support at least one reliable and one
non-reliable channel. Otherwise, the service might not be capable of offering the
requested reliability. If the service is not capable of selecting a correct channel, the
message is sent through the “default” channel. The example configuration defines
both a reliable and a non-reliable channel.
The current configuration uses broadcast as the networking distribution mechanism.
This is achieved by setting the Address attribute in the GlobalPartition
element to broadcast, which happens to be the default value anyway. This Address
attribute can be set to any multicast address in the notation a.b.c.d in order to use
If multicast is required to be used instead of broadcast, then the operating system’s
multicast routing capabilities must be configured correctly.
Next message publicHELP  posted on Sunday, February 28, 2010 - 11:03 pm
To Gruhita,

Example XML Configuration Settings:

first available
<Channel name="BestEffort" reliable="false"
<NameSpace durabilityKind="Durable"

it'll solve u r problem..
if u not satisfy with my ans. please reply in details what error is actually u have getting?

then i'll give u perfect answer
Next message publicHELP  posted on Monday, March 01, 2010 - 05:58 am
remember Anonymous answers posting by me "publicHELP".
Back to top
Add Your Message Here
Username: Posting Information:
This is a private posting area. Only registered users and moderators may post messages here.
Options: Post as "Anonymous"
Enable HTML code in message
Automatically activate URLs in message