Hi, here is a tough one.
I have been trying to write a RTSP proxy server in Java. I have a downloaded binary which works and I can compare to.
my code keep failing and the only difference I can tell is from reading Ethereal output.
the sequece goes like
ClientApp send RTSP "DESCRIBE" request to the proxy server,
proxy server sends REPLY back to client.
in case of working binary,
the REPLY is followed by a TCP [ACK] from client to the proxy.
in case of my code, 4 TCP exchange happens after the REPLY
1 [FIN, ACK] from proxy to client
1 [ACK] from client to proxy
1 [FIN, ACK] from client to proxy
1 [ACK] from proxy to client.
I am not a network expert, and don't know what to make of this difference. in case of the working binary, the client moves on to the next request, in the case of my own code, the client stop after getting the REPLY.
I have a haunch that maybe there is a way to send back the REPLY as a TCP reply to the DESCRIBE request. whereas, what I am doing is actually initiating a new TCP exchange when I send the REPLY. I need expert help on this one.