I’m working on a Java-based WebSockets-proxy and started to use the Autobahn test suite to ensure that all frames are processed correctly and not modified. I love Autobahn as it is so comprehensive - great work!
Unfortunately I got stuck with some test cases. Specifically I have problems with 1.1.8. Basically I fail to pass test cases where the chop size (= payload size of one TCP packet) is checked. How can I ensure the retransmission with the same chop size?
- How can I retrieve the chop size in Java (when working with Sockets)? I mean, I’m operating on an input stream that is not packet-aware.
- How can I set the chop size (i.e.: finish the TCP packet)? Once I retrieved the chop size, does flush() suffice to start a new TCP packet?
I searched the web, but was not able to find something appropriate. I hope that there is someone out, that used Autobahn with Java or is experienced with networking in Java and can guide me into the right direction.
If it won’t be possible, is it really necessary for a WebSockets implementation (with regards to the standard - RFC6455) to adhere to this chop-size?