Messages accumulating using send() function from the socket

From: Vimal Upreti (Vimal@ohitelecom.com)
Date: Tue Apr 29 2003 - 10:01:31 EDT


Hi all,

We are facing problem of message accumulating in the message queue in
Trading Application of Stock Market, using Sockets. The same application
used to work fine with NCR Unix.
 
The client side was developed using Delphi6, in which sockets are used
to connect to the message distributor (Application built on ancii c) and
this GUI is also connected directly to the database for loading
information and inquiring on information using Net9 connectivity.

The database side is running on Oracle 9.1 with advanced queuing system
since the advance queuing system is used for communication with the
trading server (Application built using ancii c)

The trading server is connected to the client side through the advanced
queuing system of oracle and to the message distributor through sockets.
The Message Distributor is connected to the clients via sockets and
connected to the trading server via sockets as well.

To make it more clearer, following is the movement of an order entered
to the market:

First the order (Sell or Buy) will be entered through "Order Entry
Screen" in the GUI.

Second the order will be queued in a queue called "Receive Queue" using
Advanced Queuing System of oracle.

Third the trading server will read this order from the "Receive Queue",
then it will be processed, and the result of the processing will be sent
to the message distributor using the sockets, and the result will be
sent to the "DB Queue" for database processing as well.

Fourth the DB server will read the DB Queue and will update the database
accordingly.

Fifth the message distributor will distribute the message among the
registered and connected users using the sockets.

Sixth the client side will receive the message from the message
distributor and the client side will be updated accordingly.

Summary of the problem:
when the trading server completes processing the order it sends a
message to the message distributor using send() function from the
sockets interface but unfortunately, the message is not sent directly to
the message distributor, instead, the sockets accumulates more that 3 to
5 messages then, the message distributor will receive them, both
processes (i.e. trading server and message distributor) are running on
the same alpha server. One day, the number of accumulated messages
reached around 30 messages before they have been sent to the message
distributor.

Is it bcos of some Tru64 UNIX parameters need to be tuned or some
layered products to be installed on the Unix side?

Thanks & regards
Vimal



This archive was generated by hypermail 2.1.7 : Sat Apr 12 2008 - 10:49:17 EDT