HP3000-L Archives

July 1998, Week 4

HP3000-L@RAVEN.UTC.EDU

Options: Use Monospaced Font
Show Text Part by Default
Show All Mail Headers

Message: [<< First] [< Prev] [Next >] [Last >>]
Topic: [<< First] [< Prev] [Next >] [Last >>]
Author: [<< First] [< Prev] [Next >] [Last >>]

Print Reply
Subject:
From:
JAMES CLARK <[log in to unmask]>
Reply To:
JAMES CLARK <[log in to unmask]>
Date:
Tue, 28 Jul 1998 19:43:08 -0400
Content-Type:
text/plain
Parts/Attachments:
text/plain (54 lines)
If the processing you are talking about are within the same execution
space then when you close the socket handle, it will close all
operations on other calls to the same handle. One way around this is to
spawn off a son process with his own data area and a copy of the socket
handle. The parent process closes the accepted socket handle and returns
to listening for another call. The son process closes the listening
socket, which is no longer needed, and continues with the accepted
socket handle until finished. The listen socket should stay open all the
time listening for incoming calls. Another option is to have a single
process handle all the sockets but is more complex and, given that many
socket implimentations are treated as files, may run into a number of
file open limit. Also, bind and listen will use the same socket handle,
ie listen_soc and accept will look something like this user_soc =
accept(listen_soc). When accept returns it gives you a new socket
handle.

James

-----Original Message-----
From: HP-3000 Systems Discussion [mailto:[log in to unmask]]On
Behalf Of Stephen McCready
Sent: Tuesday, July 28, 1998 6:43 PM
To: [log in to unmask]
Subject: Socket Client Numbers


We have an interactive voice response system that uses the socket
routines.  The system was designed to deal with multiple calls using 1
socket.  The program 'Bind's to a socket, 'Listen's to that socket then
'Accept's to get the Socket Client Number.  When a connection is made to
the socket we close the socket# and begin another 'Bind, Listen and
Accept' process to wait for another caller.  This uses the same socket#.
Meanwhile the first client number is still being processed.

All of this works fine with one call, however we are getting problems
when a caller hangs up during the process and there are multiple callers
on at the time.  It causes all the calls to hang up.

We have been displaying the Socket Client Number from each of the
'calls'  to help debug this problem.  However, no matter what 'call' we
are dealing with, the Socket Client Number is always the same.  Is this
to be expected?  If so, how can we uniquely identify each one of the
calls?

thanks


Stephen McCready
Centene Corporation,  7711 Carondolet Ave, Suite 600,  St.Louis, MO
63105
(314) 725 4706 ext.283

!

ATOM RSS1 RSS2