WsServer Help

This is the server component of the Winsock Stress Test that accepts packets over UDP, IPX, TCP and SPX from the WsClient running on one or more client machines.

The test does data verification at both the client and server end.

For TCP and SPX, it works the following way:

The test consists of a listening thread, which waits for connections coming from clients.  When a connection is accepted it is added to a circular queue and a worker thread is signaled.  The worker thread will receive data from the client asynchronously (using completion routine), verify the data, complement it and send it back to the client (asynchronously).  Then the socket is added back in the queue and the worker thread processes the next socket. The worker threads uses completion routines to do overlapped I/O. A worker thread may process up to a maximum of 3 sockets at one time (while waiting for other completion routines to complete).  You can adjust the number of worker threads, before starting the test.

For UDP and IPX it works similar to the earlier case, except that there is a set of sockets opened always and clients just send and receive data from these sockets. These sockets are serviced by worker threads same way as in the case of TCP and SPX.

The test parameters can be passed through the command line and the test can be run as part of a batch file.

UI Field	Command line equivalent	Description
-	BATCH=	Specifies to run this test in a batch mode.  Default:  No. Eg:  BATCH=  YES  or BATCH=  NO.
-	LOGTOFILE=	Specifies that a logfile (WsServer.log) be created and logged into. Default:  No. Eg:  LOGTOFILE=  YES or LOGTOFILE=  NO.
Debug Level	DEBUG=	Specifies the debug output level to screen or file. Default: 6.      Range: 1 - 7 Eg:  DEBUG=  5
UDP	UDP=	Specifies the maximum number of concurrent clients, the server will accept over UDP. Default:  250 Eg:  UDP=  0 (Means infinite) or UDP =  50
IPX	IPX=	Specifies the maximum number of concurrent clients, the server will accept over IPX. Default:  250 Eg:  IPX=  0 (Means infinite) or IPX =  50
TCP	TCP=	Specifies the maximum number of concurrent connections, the server will accept over TCP. Default:  250 Eg:  TCP=  0 (Means infinite) or TCP =  50
SPX	SPX=	Specifies the maximum number of concurrent connections, the server will accept over SPX. Default:  250 Eg:  SPX=  0 (Means infinite) or SPX =  50
No. of worker threads	WORKERS=	Specifies the number of worker threads to be used. Default:  3       Range:  1 - 10 Eg:  WORKERS=  5

Example of running the test from a batch file:

1. Start the test enabling TCP only, with 5 worker threads.

WsServer  BATCH= YES  TCP=  0  WORKERS= 5

2. Start the test enabling SPX and UDP.

WsServer  BATCH= YES  SPX=  0 UDP= 0

3. Start the test enabling TCP and SPX allowing a maximum of 100 concurrent clients.

WsServer  BATCH= YES  TCP= 100  SPX=  100