Bob,  I have a note on TCP/IP that reads:

The timeout value does not apply to control functions, such
as connect.
Here, the :xph.TCP/IP:exph. default of 30 seconds applies
(regrettably).

That is, the timeout is applied when I receive control back from the
stack and wait for the other side to reply.  I suppose I could apply a
timeout to the IUCV wait for some of the TCP/IP operations, but others
are done by CMS, such as CONNECT and name lookup (by RXSOCKET).

On 04/20/2015 09:37 PM, Bob Cronin wrote:
Greetings Plumbers,

I am using tcpclient to talk to an http server.

The (prior to translation to ASCII) input looks like this:

GET /tools/groups/groupsxml.wss?task=listMembers&group=xagent&depth=10
HTTP/1.0

The (after translation to EBCDIC) response I expect looks like this:

http/1.1 200 ok
date: mon, 20 apr 2015 19:17:27 gmt
connection: close
content-type: text/xml;charset=iso-8859-1
content-language: en-us

<?xml version="1.0" encoding="utf-8" ?>
<group>
<request>listmembers</request>
<groupname>xagent</groupname><member>[email protected]</member>
<member>[email protected]</member>
<rc>0</rc>
<msg>success</msg>
</group>

I then parse through the xml to extract the <member>...</member> tag values.

Here's the stages I am using to carry on the conversation:

...
'| b: Fanin',
'| TCPClient' Server Port,
'    Timeout 30',
'    Userid' TCPIPUserID,
'| c: Fanout',
'| Xlate A2E',
'| Deblock C Terminate EOF',
'| Strip Trailing 0D 1',
...
'? c:',
'| Hole',
'| b:'

When the server is working properly there is no issue.

At the moment, however, the server is having difficulties. Sometimes I get
a response, sometimes I don't.

The nasty thing is that when I do not get a response (i.e. there's no
output at all from TcpClient), the pipe sits there waiting forever, despite
the 30 second timeout.

I've no clue why.

Ideas?
--
bc

Reply via email to