J
Josh Salit
Hi,
I'm working with a TCP/IP server (Mixed C/C++, built with VC++ .NET
2002) that can be run as either an application or as a Windows Service.
The problem we are facing is that when running as an application, the
server can handle 15+ connection attempts at relatively the same time.
When the program is run as a Service, however, it can't seem to handle
more than 4 at a time...We end up having to throttle the incoming
connections in order to have them all accepted properly.
My basic question is this: Is there any reason (typical Windows
2000/XP/2003 behavior, registry settings, etc) that a server program
should perform so differently when running as a Windows Service as
compared to when running as a normal application?
listen() is being passed SOMAXCONN as it's second argument, and after
accept() is called, only a few (small) memory allocations are performed
before passing the socket off to handler thread.
Any advice or ideas would be appreciated...
Thanks,
Josh
I'm working with a TCP/IP server (Mixed C/C++, built with VC++ .NET
2002) that can be run as either an application or as a Windows Service.
The problem we are facing is that when running as an application, the
server can handle 15+ connection attempts at relatively the same time.
When the program is run as a Service, however, it can't seem to handle
more than 4 at a time...We end up having to throttle the incoming
connections in order to have them all accepted properly.
My basic question is this: Is there any reason (typical Windows
2000/XP/2003 behavior, registry settings, etc) that a server program
should perform so differently when running as a Windows Service as
compared to when running as a normal application?
listen() is being passed SOMAXCONN as it's second argument, and after
accept() is called, only a few (small) memory allocations are performed
before passing the socket off to handler thread.
Any advice or ideas would be appreciated...
Thanks,
Josh