PSS ID Number: Q148668
Article Last Modified on 11-10-1999
The attempt to connect to a Socket server application fails. The use of a network analyzer confirms that the Socket server is resetting every attempt to initiate the TCP connection.
A previous failure to establish a TCP Connection has occurred on the DOS
Socket Server. The DOS Sockets driver believes that its backlog of
listening connections is full and refuses attempts to establish new
connections.
Every socket application must set the number of backlog (pending)
connections the application supports. When a client attempts to connect to
the server port (for example: A SYN packet is sent), the DOS Sockets
driver increments the BACKLOG counter. When the connection has been
accepted by the socket application, the BACKLOG counter is decremented.
If the BACKLOG counter equals the maximum backlog the application is
using (typically 1 for DOS Socket Server applications), then the DOS
Socket driver silently refuses new connection requests (silent means that
the Socket application is not informed of connection refusal).
There exists a problem in the DOS Socket driver where it does not
decrement the BACKLOG counter when a SYN packet has been received by a
client, but an ACK from the client has not been received from the server's
SYN-ACK.
Normal connection establishment appears as follows:
CLIENT -> SERVER SYN SERVER -> CLIENT SYN-ACK CLIENT -> SERVER ACK (Missing)It is the final ACK from the client that triggers the socket acceptance mechanism and allows the BACKLOG counter to be decremented.
To work around this problem, stop the DOS Socket Server application and restart it periodically.
Microsoft has confirmed this to be a problem in LAN Manager version 2.2c. We are researching this problem and will post new information here in the Microsoft Knowledge Base as it becomes available.
Additional query words:
Keywords:
Issue Type:
Technology: kbAudDeveloper kbLanManSearch kbLanMan220c