-
-
Notifications
You must be signed in to change notification settings - Fork 494
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Error "read (104: Connection reset by peer)" after calling SendExtDesktopSize() #587
Comments
Hi @ivanshchitov, I didn't have the time to read all the posted code but might help with some pointers:
Also, please post general questions in https://gitter.im/LibVNC/libvncserver - we can leave the conversation here for this topic but in the future that's the right place :-) |
So, if the Thank's for such quick answers. |
Sure. At least at the protocol level: The server must announce in its server capabilities in the initial connection handshake that it is able to generate "DesktopSize Pseudo-encoding" updates and understands the SetDesktopSize message type: https://github.com/rfbproto/rfbproto/blob/master/rfbproto.rst#id48 "[…] If a server supports the ExtendedDesktopSize encoding, it must also have basic support for the SetDesktopSize message although it may deny all requests to change the screen layout." I don't know how these "capabilities" can be requested via API call to the VNC library, but I hope my answer might help you to look for the right keywords in the library documentation. :-) |
libvncclient should keep track of server caps and not send stuff the server doesn't understand, I'll have a look. |
I found such solution to determine that bool res = SupportsClient2Server(m_rfbClient, rfbSetDesktopSize); Is it a correct way? |
Yes, that should be done in the lib. And set by the lib. |
Thank you very much! I think this issue can be closed. |
No, please leave it open as it might represent a valid defect. |
Hello!
I am developing the VNC-client for Sailfish OS using Qt and faced with the following problem.
After calling the
SendExtDesktopSize()
function after retrieving first frames the server connection fails and I have the messages "read (104: Connection reset by peer)" and "VNC connection closed" in logs.Part of my code.
Code inside the client-class constructor:
rfbClient
instance,Method to perform a connection to the VNC-server:
Method to disconnect from the server:
Method to retrieve the rfb-messages. It calls
requestUpdate()
to send a message to update framebuffer in a separate thread via QTimer.Method to send a message to update the framebuffer.
Method initializes the framebuffer.
Also for testing I call
SendExtDesktopSize(m_rfbClient, m_width, m_height);
through clicking a button inside an app when the server gives me a picture and the picture is displayed. And when the call is finished I got an error that described above.For running my client-app I use INOI R7.
The problem is reproduced when it's used Vine VNC Server for macOS and TightVNC for Windows as servers.
The problem is not reproduced when it's used UltraVNC for Windows as a server.
Can you please tell me what I'm doing wrong?
The text was updated successfully, but these errors were encountered: