Messages accumulating using send() function from the socket

From: Vimal Upreti (Vimal_at_ohitelecom.com)
Date: 04/29/03

  • Next message: Tru64 User: "Proper System Cleaning"
    Date: Tue, 29 Apr 2003 18:01:31 +0400
    To: tru64-unix-managers@ornl.gov
    
    

    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


  • Next message: Tru64 User: "Proper System Cleaning"

    Relevant Pages

    • Example: Socket code (Was Re: ClientServer App)
      ... protocol, such as HTTP, as your application middleware backbone?". ... control of the server with Flash Data Management Services?" ... just enter an asterix "*" for the Queue Name and then click ... thought was to use sockets with xml-rpc but then thought there has to ...
      (comp.lang.java.programmer)
    • Re: max buffer for send?
      ... Do not queue more data in the socket than the lag you are ... the network will be starved and performance will suffer. ... consider using two sockets instead of one. ... >>>> somewhere between the TCP stack and the application, ...
      (microsoft.public.win32.programmer.networks)
    • Re: The rationale for IOCP
      ... >> to check all the sockets just to discover one. ... IOCP tells you that an operation completed, ... GQCS is more analogous to popping an item off a queue in user-space. ... of the I/O operation, ...
      (comp.programming.threads)
    • Re: Einfache TCP/IP-Kommunikation - aktuelle Beispiele?
      ... der mit Sockets und multiplen ... Bytes verwenden, um die Informationsstruktur zu bauen diese an die ... Queue entfernen. ... Wer Komponenten ohne Quelltext oder richtig miese Komponenten ...
      (de.comp.lang.delphi.misc)