Sun Java System Message Queue 4.3 Developer's Guide for C Clients

Basic C-Client Programs

The sample C-client program files include the following:

Table 1–3 Basic C-Client Sample Program Files

Sample Program 

Description 

Producer.c

Illustrates how you send a message 

Consumer.c

Illustrates how you receive a message synchronously 

ProducerAsyncConsumer.c

Illustrates how you send a message and receive it asynchronously 

RequestReply.c

Illustrates how you send and respond to a message that specifies a reply-to destination 

Table 1–4 lists the location of the sample programs on each platform.

Table 1–4 Location of Basic C-Client Sample Programs

Platform 

Directory 

Solaris 

/opt/SUNWimq/demo/C

Linux 

/opt/sun/mq/examples/C

AIX 

IMQ_HOME/demo/C

Windows 

IMQ_HOME\demo\C

Building the Basic C-Client Sample Programs

The following commands illustrate the process of building and linking the sample application Producer.c on the Solaris, Linux, AIX, and Windows platforms. The commands include the pre-processor definitions needed to support Message Queue C-API fixed-size integer types. For options used to support multithreading, please consult documentation for your compiler.

To Compile and Link on Solaris OS

CC -compat=5 -mt -DSOLARIS -I/opt/SUNWimq/include -o Producer \\
    -L/opt/SUNWimq/lib -lmqcrt Producer.c

For Solaris OS, if you need 64-bit support, you need to specify the following compiler options:

. For example, to compile and link the example application on Solaris/SPARC, you would use the following command:

CC -compat=5 -mt -xarch=v9 -DSOLARIS -I/opt/SUNWimq/include -o Producer \\
   L/opt/SUNWimq/lib/sparcv9 -lmqcrt Producer.c

To Compile and Link on Linux

g++ -DLINUX -D_REENTRANT -I/opt/sun/mq/include -o Producer \\
    -L/opt/sun/mq/lib -lmqcrt Producer.c

To Compile and Link on AIX

xlC_r -qthreaded -DAIX -I/$IMQ_HOME/include -o Producer \\
    -blibsuff:so -l$IMQ_HOME/lib -imqcrt Producer.c

To Compile and Link on Windows

cl /c /MD -DWIN32 -I%IMQ_HOME%\include Producer.c
link Producer.obj /NODEFAULTLIB msvcrt.lib \\
      /LIBPATH:%IMQ_HOME%\lib mqcrt.lib

Running the Basic C-Client Sample Programs

Before you run any sample programs, you should start the broker. You can display output describing the command-line options for each program by starting the program with the -help option.

For example, the following command, runs the program Producer. It specifies that the program should connect to the broker running on the host MyHost and port 8585, and that it should send a message to the destination My Topic :

Producer -h MyHost -p 8585 -d MyTopic

The directories that contain the sample programs also include a README file that explains how you should run their respective samples.