0

I've gotten pretty far trying to develop a JDWP debugger for Android, and I am having some issues, but I was wondering about if sending a TCP ACK, if it's required..

When I look at a session using jdb against the Android Emulator I see a lot of TCP ACK packets getting sent to the VM, from jdb.

Right now I'm not trying to send any extra TCP information packets other than the JDWP commands and getting the replies, do I need to do anything extra?

Thanks!

user1572522
  • 569
  • 2
  • 11
  • 26
  • I has no clue, but in case you haven't found them I suspect your answer is hidden somewhere in the specs http://docs.oracle.com/javase/7/docs/technotes/guides/jpda/architecture.html#jdwp - besides that, a protocol on top of tcp should actually not be concerned about details handled at tcp level. – zapl Dec 01 '14 at 20:44
  • Yes, I always look at the Details, and Main pages, of the JDWP specs, and try to look at the Eclipse and Apache Harmony project code, but at certain points it just seems to stop.. I wait for the Emulator to put up it's dialog and hit "Wait", but the communication just seems to stop. – user1572522 Dec 01 '14 at 22:11
  • A TCP ACK should always be produced by the underlying TCP stack for you, there is probably not even a way to force sending one besides sending data that needs to get ACK'd. If you however see that there is no ACK, maybe you're not sending data because you forgot to `flush()` somewhere? – zapl Dec 01 '14 at 22:25
  • Okay, thanks a lot. I guess I should look at my own connection session. I thought that maybe they where sending it to try to keep the connection "alive". Yep, I do a flush() right after my write(). Thanks! – user1572522 Dec 02 '14 at 16:42

0 Answers0