Skip to content

unable to receive message size more than 8192 char #525

Closed

Description

@ayyappan6031
No description provided.

Activity

  1. marci4 commented on Jul 26, 2017

    @marci4
    Collaborator

    Hello @ayyappan6031,

    first of all sorry for the delayed response. I was on holiday for a few days and normally don't read any emails.

    I think this issue is related to #423.
    Does it always not work for messages longer then 8192 characters? Does it just not work for TextFrames or also for BinaryFrames?

    Greetings
    marci4

    EDIT:
    Tested it with a longer message and it works. What are you doing different?
    http://imgur.com/a/fXJsp

  2. self-assigned this
    on Jul 26, 2017
  3. ayyappan6031 commented on Jul 27, 2017

    @ayyappan6031
    Author
  4. marci4 commented on Jul 27, 2017

    @marci4
    Collaborator

    Hello @ayyappan6031
    could you possible post an example String when it is not working (like on https://gist.github.com/ ).

    Could you also update to 1.3.4, since this is the latest release!

    I will look into it a bit more!

    Greetings
    marci4

  5. ayyappan6031 commented on Jul 27, 2017

    @ayyappan6031
    Author
  6. marci4 commented on Jul 28, 2017

    @marci4
    Collaborator

    Hello @ayyappan6031,
    thx a lot.

    Will look into it over the weekend :)

    Greetings
    marci4

  7. marci4 commented on Jul 28, 2017

    @marci4
    Collaborator

    Hello @ayyappan6031,

    right now I cannot reproduce this issue with my development branch....
    Do you use both client and server from this project or are you using different components?

    Greetings
    marci4

  8. gwlucas commented on Aug 1, 2017

    @gwlucas

    I'm also having this issue. I am using text messages. I'm haven't quite learned to navigate the code yet, but I may have spotted something that helps.

    Looking at WebSocketInpl.java, it looks like there is a loop in decodeFrames which accepts incoming frames from the socket buffer. When a frame is not finished, it is stored in the class member element current_continuous_frame. When a future frame is received with a "fin" value of true, its content is appended to the current_continuous_frame. But, IMMEDIATELY AFTER, the current_continuous_frame is set to null (line 419 or thereabouts). So both the data from the original frame and the incoming frame is lost.

    Also, I notice that there are methods with the name onWebsocketFragment which appear to be do-nothings. Is that correct?

    Hope some of this helps.

    Gary

    P.S. Maybe there needs to be a call to wsl.onWebSocketMessage() after the append?

    P.P.S. Okay, I tried putting in the call and it seems to work. I am now receiving 15 K length text messages just fine.

    Also, this is off topic a little, but I have a question. I notice that PONG messages are being passed to the onMessage method of the WebSocketClient class as text messages. I'm new to websockets, so I have to ask. Is this a correct behavior? It seems to me that a PONG is something quite distinct from a text message and that the logic I've had to add to handle it (look for a 1 character message, check to see if that character is a linefeed) is kind of a kludge.

  9. marci4 commented on Aug 2, 2017

    @marci4
    Collaborator

    Hello @gwlucas,

    I still have an issue just to reproduce it :(

    Please tell me what server and client you are using (as well as ws or wss).
    And does this always happen with every random message bigger then 15k characters?
    Tell me what you are doing different to me ;)
    Tried it with chrome as client as well as just java-websocket server and client and it always works for me...

    The code you are mentioning is not writen by me. So I do have to read/understand it myself ;)

    onWebsocketFragment is an old API, which I probably will deprecate over time (like I did with the drafts)

    Regarding the PONG message, no this should not be the case and it is also not the case for me...
    PONG messages are specified by the spec and have their own opcode, so you have to handle these separat to a text message for example!

    Greetings
    marci4

  10. gwlucas commented on Aug 3, 2017

    @gwlucas
  11. marci4 commented on Aug 3, 2017

    @marci4
    Collaborator

    Hello @gwlucas,

    even though your help is really appreciated you would help me a lot if you could tell me exactly what you are doing so messages with a size bigger then 8k will not be send ;)
    I am more used to the code and I will find a way to not break all the protocol specific requirements ;)

    Apart from this, yes I will look into your mentioned code parts!

    Greetings
    marci4

  12. gwlucas commented on Aug 3, 2017

    @gwlucas
  13. marci4 commented on Aug 3, 2017

    @marci4
    Collaborator

    Hello @gwlucas,

    this testsuite may help your coworkers! https://github.com/crossbario/autobahn-testsuite/tree/master/doc
    I always test changes against this testsuite so I am sure everything is correctly implemented ;)

    As you describe this, that should be working.

    Greetings
    marci4

  14. marci4 commented on Sep 15, 2017

    @marci4
    Collaborator

    Hello @gwlucas,

    do you have any update on this issue?

    Greetings
    marci4

  15. marci4 commented on Oct 10, 2017

    @marci4
    Collaborator

    Could you please check if #570 is fixing this issue for you?

    Greetings
    marci4

  16. marci4 commented on Oct 12, 2017

    @marci4
    Collaborator

    This issue should be solved. If not feel free to open a new issue!

    Greetings
    marci4

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Labels

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions