David Schwartz wrote:
We are working on a threaded solution but right now we are using some
third-party code (Webs 2.18) which is single threaded.
That's fine, but if you using blocking calls in a single-threaded
application, you can really only handle one client at a time.
I know :( Which is why we are writing our own code now, but that doesn't
fix the current problem.
I just let telnet connect and don't type anything. The connection
remains 'ESTABLISHED'. and no other client connections will work (e.g.
wclient2). This is basically the behavior we are seeing with our
application. A client connects and never sends any data, so it remains
connected, hence blocking any other client from communicating.
The application elected to block until the negotiation was finished. That's
a pretty dumb thing for an application to do.
This seems to me (in my very novice opinion) to be an issue with
openSSL, in the sense that if it doesn't get a handshake (or some other
data) on the connection it should close the connection after a period of
time.
OpenSSL tries to make SSL connections act like regular TCP connections. This
is exactly what TCP does. So your application would have this exact same
problem with or without OpenSSL. As such, how can you blame it on OpenSSL?
I suppose re-reading what I wrote it does sound like I am pointing a
finger but that was not my intention. I'm looking for advice on how to
fix our problem. I was hoping for a "silver bullet" - just call this
function and all will be fine type of answer. Wishful thinking, I know.
Blocking socket operations are very difficult to use. I strongly urge you to
switch to non-blocking operations.
Having only done minimal socket programming, I'm in a bit of a steep
learning curve right now. Other then understanding what a blocking and
non-blocking operation is, I don't fully understand the ramifications of
switching to non-blocking I/O. Compounding this issue is the third party
code, which was clearly written with blocking I/O :(
I appreciate your time!
Thanks
-Jim
______________________________________________________________________
OpenSSL Project http://www.openssl.org
User Support Mailing List openssl-users@openssl.org
Automated List Manager [EMAIL PROTECTED]