Help with "Concurrent Network Server" Design

Discussion in 'C Programming' started by Animesh, Dec 23, 2005.

  1. Animesh

    Animesh Guest

    Hi All,

    I have a lexical analyzer in flex/bison associated with a lot of custom
    C function calls linking to external programs which uses quite a lot of
    global variables and data structures. The program is quite complex and
    does a lot of Natural Language Processing. The program needs to
    initialize a few databases from files every time it launches and needs
    to load them in the memory.

    I am currently thinking of a design where I could run the program as a
    "Concurrent Network Server" and connect to it each time I want to
    process some text input. There are the following problems:
    1. Since I use global variables (which cannot be avoided) I need to
    make sure that for each new connection, I need to initialize all these
    global variables and data structures.
    2. Due to the above reason I probably need a new process Image for
    every new connection. I have tried using fork but sometimes the global
    variables are not properly initialized. Another problem I believe is
    that I would very soon finish the fork limit for the OS, since there
    are hundreds of subsequent connections.

    I need to know the perfect "Concurrent Network Server" design for the
    above problem. I am currenlty using Debian GNU/Linux with Kernel 2.4.18
    as my primary development machine (I know this is ancient, but there
    are other programs which run only with GCC 2.95). I have also ported
    the program and not the experimental Network code to FreeBSD
    6.0-RELEASE.

    I am not much of a OS and Network Programming Guy, but am quite
    comfortable with C Porgramming and Data Structures. I would really
    appreciate if anybody could help me out.

    Thanks in Advance,
    Animesh
     
    Animesh, Dec 23, 2005
    #1
    1. Advertising

  2. Animesh

    Flash Gordon Guest

    Animesh wrote:

    <snip>

    > I need to know the perfect "Concurrent Network Server" design for the
    > above problem.


    1) The C programming language knows nothing about networks so this is
    off topic here.
    2) The C programming language has no support for concurrency, so this is
    off topic here.
    3) There is no such thing as a perfect design, so the answer is, "it
    does not exist."

    > I am currenlty using Debian GNU/Linux with Kernel 2.4.18


    <snip>

    Then I suggest you try asking on a Linux group, there are plenty of them
    available. We only deal with standard C here, not the specifics of every
    system and every extension library.
    --
    Flash Gordon
    Living in interesting times.
    Although my email address says spam, it is real and I read it.
     
    Flash Gordon, Dec 23, 2005
    #2
    1. Advertising

  3. [MTA] Welcome (was: Re: Help with "Concurrent Network Server" Design)

    Animesh <> wrote:

    > I need to know the perfect "Concurrent Network Server" design for the
    > above problem.


    (You're looking more for comp.programming, where they may very well
    recommend "Design Patterns" by the Gang of Four. GIYF.)

    Your post is off-topic for comp.lang.c. Please visit

    http://www.ungerhu.com/jxh/clc.welcome.txt
    http://www.eskimo.com/~scs/C-faq/top.html
    http://benpfaff.org/writings/clc/off-topic.html

    for posting guidelines and frequently asked questions. Thank you.

    --
    Christopher Benson-Manica | I *should* know what I'm talking about - if I
    ataru(at)cyberspace.org | don't, I need to know. Flames welcome.
     
    Christopher Benson-Manica, Dec 23, 2005
    #3
  4. Animesh

    Animesh Guest

    Flash Gordon wrote:
    >
    > Then I suggest you try asking on a Linux group, there are plenty of them
    > available. We only deal with standard C here, not the specifics of every
    > system and every extension library.
    > --


    Thanks Flash & Christopher,

    I will head to comp.unix.programmer.

    Regards,
    Animesh
     
    Animesh, Dec 24, 2005
    #4
    1. Advertising

Want to reply to this thread or ask your own question?

It takes just 2 minutes to sign up (and it's free!). Just click the sign up button to choose a username and then you can ask your own questions on the forum.
Similar Threads
  1. ZackS
    Replies:
    5
    Views:
    6,871
    Just an Illusion
    Jul 9, 2004
  2. SpamProof
    Replies:
    3
    Views:
    671
    SpamProof
    Dec 1, 2003
  3. dave
    Replies:
    5
    Views:
    618
    William Brogden
    Jul 17, 2004
  4. Tim Smith
    Replies:
    2
    Views:
    885
    Tim Smith
    Dec 15, 2004
  5. trint
    Replies:
    1
    Views:
    371
    trint
    Nov 21, 2006
Loading...

Share This Page