I have a problem with the component TSslWSocketServer and a comuincation with more clients(socket developed in C++). I used the demo SSLSimpleServer for the connection and handshake SSLV3 and certificate self signed with authentication server side and it work fine.
When a client connect I run a thread with DataAvailable and more function.
The problem is the send data (string or byte) in this thread.

I use this code in the thriggered function where Client is TWSocketClient and the ClientClass on SSLServer is TSslWSocketClient

self.Client.SendStr(buff);

sleep(100);

   while not self.Client.AllSent do
      begin
Appendlog('','thread ' + inttostr(nthread) + ' waiting');
                       inc(a);

                       sleep(400);

                       if a > 10 then
                         begin
Appendlog('','thread ' + inttostr(nthread) + ' ERROR SEND);
                            break;
                         end;
      end;

This work fine but if the network is congested the comunication RANDOM not work(1 time of 10). The server buffer is not empty and AllSent is ever false. I tryed to flush the object Client (Client.flush) and send again the data but not work, AllSent is again ever false. For restart the comunication I need to close the connection and reconnect with ssl.
The client not receive nothing and get a timeout.
All this only if network is used or congested.
The object does not return any error on events.
I just tryed every configuration in the TWSocketClient (Keepalive, buffersize ...)

Sorry form my very bad english :)

Gabriele

--
To unsubscribe or change your settings for TWSocket mailing list
please goto http://lists.elists.org/cgi-bin/mailman/listinfo/twsocket
Visit our website at http://www.overbyte.be

Reply via email to