views:

64

answers:

1

Hi,

I'm working on porting a windows-only application to Linux, and eventually to Mac OSX. Part of this program is a remote-desktop-like feature - you can share a desktop space with several clients. The network protocol is very similar to the RDP protocol. The original author wrote everything from scratch. It works very well, but large parts of it are windows-specific.

Now that I'm porting to multiple platforms, I'd like to avoid having to:

  1. Re-write the screen-grabbing & network protocol code code for Linux/X11, and then again for MacOSX.
  2. Spend the rest of my natural life bug fixing and tweaking these various implementations.

So.. I'm looking for a c++ library that does these bits for me. Ideally I need the library to handle both the server and the client-side work (I.e.- both the screen grabbing and the display code).

I've looked at libVNC, which looks good, except it does the server-side only, as far as I can tell (the only documentation I've ever found is the README file).

I don't care particularly what the network protocol looks like. It'd be nice if I could modify the library to wrap the protocol in my own network protocol, but that's a nice-to-have feature.

Can anyone suggest something?

+1  A: 

Pick a cross-platform open-source VNC client you like and co-opt it's input handling code, replacing the VNC bits with your protocol.

I'm unaware of any generic library for handling VNC client tasks.

genpfault
Unfortunately you're right - this seems to be a case of "do it yourself". What a pity... I hate writing code...
Thomi