Velocity Reviews

Velocity Reviews (http://www.velocityreviews.com/forums/index.php)
-   C Programming (http://www.velocityreviews.com/forums/f42-c-programming.html)
-   -   Help with "Concurrent Network Server" Design (http://www.velocityreviews.com/forums/t440638-help-with-concurrent-network-server-design.html)

Animesh 12-23-2005 07:35 PM

Help with "Concurrent Network Server" Design
 
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


Flash Gordon 12-23-2005 08:39 PM

Re: Help with "Concurrent Network Server" Design
 
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.

Christopher Benson-Manica 12-23-2005 08:50 PM

[MTA] Welcome (was: Re: Help with "Concurrent Network Server" Design)
 
Animesh <animesh@neolinuxsolutions.com> 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.

Animesh 12-24-2005 06:44 AM

Re: Help with "Concurrent Network Server" Design
 

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



All times are GMT. The time now is 01:25 PM.

Powered by vBulletin®. Copyright ©2000 - 2014, vBulletin Solutions, Inc.
SEO by vBSEO ©2010, Crawlability, Inc.