That post is somehow connected o my previous one that I was asking about ApplinX error log (read socket error):
I hope that maybe ApplinX advanced users will be able to find answer for my next questions.
As - because of some limitations - it is not so easy to modify our application, and because such behaviour appeared couple of weeks ago (previously we did not noticed so many issues) we decided to investigate first what is the root of our current problems.
So we have arranged set of tests and network monitoring to see where the weak point is.
Our test looked like:
- User logged into appplication (called “login to host (Mainframe) Path”
- Stayed for some time (40 minutes) with no activity (at that time atfer succesful login user stayed on some specific screen on Mainframe - was not sending data to MF)
- After that time user tried to perfom next action (go to next MF screen) -> the read socket error occured.
From the net monitoring we have below observations:
while the inactivity time ApplinX sent a data packet (1 byte of x’00’) with sequence number 949546181 - 10 minutes after last data packet and acknowledgment
Mainframe TCP acknowledgment the data packet (ACK number:949546182)
ApplinX sent another data packet (1byte of x’00’) 10 minutes after last data packet and acknowledgment - !! using the same sequence number!!
Mainframe TCP ack’ed that packet (ACK number:949546182)
Now we are not sure for that:
a) one of the network enginners told us that it looks like that packet was kept on firewall and ApplinX sent “tcp_disconnect” to drop the TN3270 session.
b) second told it looks like ApplinX received the TCP ack packet form MF, however sent “tcp_disconnect” to drop the TN3270 session.
Could anyone tell me - what exactly those 2 packets with one bytes of null character (x’00’) was intended for? Was it kind of keep-alives?
Also - under what condition ApplinX would sent telnet “tcp_disconnect” command?
I will be very gratefull for help!
Thanks and Regards!