TigerVNC / tigervnc

High performance, multi-platform VNC client and server
https://tigervnc.org
GNU General Public License v2.0
5.09k stars 934 forks source link

`xtigervncviewer -listen` accepts only one connection #400

Open alkisg opened 7 years ago

alkisg commented 7 years ago

Hi, we've been using xvnc4viewer in our classroom monitoring tool, http://epoptes.org, but since xvnc4viewer is being replaced with tigervnc in Debian Stretch, we're trying to support tigervnc instead. We bumped into the following issue: server: xtigervncviewer -listen clients: x11vnc -connect server

With xvnc4viewer, multiple clients could do reverse connections to a single server instance. With xtigervncviewer, that's no longer the case, the second client reports "connection refused".

Would that be a bug, or is it by design? This issue is a blocker in preferring tigervnc in epoptes rather than e.g. ssvnc.

Thanks!

--- Want to back this issue? **[Post a bounty on it!](https://app.bountysource.com/issues/41070544-xtigervncviewer-listen-accepts-only-one-connection?utm_campaign=plugin&utm_content=tracker%2F3557444&utm_medium=issues&utm_source=github)** We accept bounties via [Bountysource](https://app.bountysource.com/?utm_campaign=plugin&utm_content=tracker%2F3557444&utm_medium=issues&utm_source=github).
alkisg commented 7 years ago

Hi again, regarding the bounty, epoptes is an open source application used in thousands of schools, but its development doesn't currently have any funding at all, so the epoptes developers are in turn unable to fund other projects.

What we can do in the epoptes Debian package is to either Recommend: tigervnc, or Recommend: ssvnc. So if we end up Recommending tigervnc, you indirectly gain some thousands users; if you happen to care about a larger user base you might consider spending some time on this issue.

Please note that due to the Debian Stretch freeze, any patches should be uploaded before the 25th of January 2017, that's the deadline that we have to recommend one of those 2 VNC viewers.

Cheers!

CendioOssman commented 7 years ago

Partly by design. The previous code relied on fork(), which doesn't translate properly to a platform independent client.

I'm not opposed to supporting the old loop behaviour, but it's not something that's a priority right now.