run the server: ./wscat -loglevel 3 -s http://localhost:8080/
run the client: ./wscat -loglevel 3 http://localhost:8080/
enter a long enough string then press enter: sdknklqsdfklfnsdfklqsdnfkqsjdfljqsdklfjqsdmklfjqsmkljfmklqsdjfkljqsdfkljqsdkfjmklqsdjfklqsdjmfklqsdjmfkljqsdmklfjqsdmklfjqsklfjklsqdjfklqsdjfklqsdjmfkljqsdklfjsdklqfjqsdjfmklqsdjflsjdfjfmklqsdjfklqsdjfkljsdfffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
Following my comment in https://github.com/vbmithr/ocaml-websocket/issues/58, here is a repro case:
./wscat -loglevel 3 -s http://localhost:8080/
./wscat -loglevel 3 http://localhost:8080/
sdknklqsdfklfnsdfklqsdnfkqsjdfljqsdklfjqsdmklfjqsmkljfmklqsdjfkljqsdfkljqsdkfjmklqsdjfklqsdjmfklqsdjmfkljqsdmklfjqsdmklfjqsklfjklsqdjfklqsdjfklqsdjmfkljqsdklfjsdklqfjqsdjfmklqsdjflsjdfjfmklqsdjfklqsdjfkljsdfffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
Here is the server output:
and the client output:
Sending the same string again to the client, here is the server output:
So it seems that there is a corrupted buffer somewhere.