Consultor Eletrônico



Kbase P109312: Server socket object receives invalid socket handle after 1024th connection and all socket communica
Autor   Progress Software Corporation - Progress
Acesso   Público
Publicação   3/6/2006
Status: Verified

FACT(s) (Environment):

Progress 9.x
OpenEdge 10.x

SYMPTOM(s):

Server socket object receives invalid socket handle as input parameter to connection procedure

Invalid socket handle in connection procedure happens after more than 1,024 clients are connected

Existing socket connects to the server socket object no longer communicate

Server socket does not see that client sockets have disconnected

New client socket connections appear to work from the client side but the server socket object does not get a valid socket handle as the input parameter to the connection procedure so the client is not really connected

CAUSE:

Bug# 20050927-012

CAUSE:

This issue is caused by the fact that when the 1,025th socket attempts to connect to the 4GL server socket, the connection fails (we only support 1,024 connections) and the sample code sets the server sockets SENSITIVE attribute to FALSE which causes the server socket to stop accepting new connections. However, the 4GL code never sets the server sockets SENSITIVE attribute back to TRUE after a client disconnects from the server, therefore, the server socket program will never accept any more connections.

FIX:

Modify the application code to ensure that when a message is received in the READ-RESPONSE handler indicating that the client socket has disconnected (i.e. the SELF:CONNECTED attribute is FALSE) that the SENSITIVE attribute for the server socket is set to TRUE to allow further clients to connect.