[Message Prev][Message Next][Thread Prev][Thread Next][Message Index][Thread Index]

Re: RDP server



> After lots of protocol errors & disappointment, I did some digging into 
> the code, which made me realize this:
> 
> => rdesktop is just a hack and will never be release-quality code. <=

That's a difficult conjecture to make; what is release-quality code?

 
> The notion of using rdp-srvr to test rdesktop's connections is simply 
> useless because you can't actually test the protocol stack.. with 
> itself! Let alone the whole VNC stuff, which is totally useless in the 
> context of RDP's much better use of the available bandwidth. (I haven't 
> used VNC for awhile, but my perception is that RDP actually _works_ over 
> modems).

Fortunately, your perceptions are clouded. RDP _really_ isn't any better
than VNC's protocol. Microsoft's Remote Desktop server works faster
because the USER/GDI layer was hacked to intercept GDI32 calls and allow
the remote desktop server to inspect them (to see if they touch windows,
the screen, draw pixels, etc). VNC's win32 server does NOT do this- like
pcAnywhere (and a slew of others), it grabs snapshots of the screen and
uses various tricks to determine what has changed, and what the user
needs to see at any given time.

And by the way, I use VNC to fix my mother in-law's computer quite
frequently, and yes, it does work just fine over her 56k winmodem.

 
> My interest in this project stems from my father's business where about 
> 12 WinCe & WfW terminals connect to a NT4 Terminal Server for typical 
> Office usage (Word, email etc). I have been thinking a _lot_ about how 
> M$'s licensing scheme is becoming more like a global tax on businesses 
> rather than a choice between various OS alternatives. I believe that 
> "thin-computing" has a lot of advantages and it won't be long before we 
> can buy very cheap (say less than $200) thin-client units. That's why I 
> think we need a stable RDP server for the free Unices. Add KDE and 
> OpenOffice to the mix, and we'll have a good reason to get rid of M$ (or 
> at least get her market share back to reasonable levels...)

I don't think developing an RDP server for unix is going to solve your
problem. A better tactic would be to make some RPC specs or IDL's to
wrap around Gtk or Qt's apis and remote THOSE over the network.

Part of the reason X11 is impossibly slow even on a 1mbit link for
anything more than a terminal is because X11 remotes individual
pixel-mapping operations. Qt and Gtk look "pretty" and seem pretty quick
because they're using shared memory and other goodies that just plain
don't map over the network.

So rather than fudge X11 into something it isn't, why not work on what's
actually making things slow? If the widget library were local, you'd be
zipping along much faster.

Faster than RDP, VNC, X11(including with protocol compressors).

But then again, rDesktop is designed to allow people like me the
privilege (i say with the utmost sarcasm) of administering a win32
system - and secondarily, as an exploration of RDP.

If you were to shoehorn RDP onto an X11 server, you'd discover the same
thing I did just by sniffing protocol traffic and reading the
documentation: RDP is a lot more complicated than it needed to be.

 
> I am writing these lines because I am ashamed to look at the code. No 
> documentation. Lots of ugly goto's (MY GAWD, that took me back to the 
> days I was programming BASIC :-) and an awkward feeling you would get if 
> you wer inside an old wooden house where every termite has contributed 
> his own sinusoidal in the aggregate creaking... Think about it for 
> awhile, the SOURCES are 74kb bzipped and the PATCHES are 140kb !!

There's nothing wrong with gotos. I use them frequently. But I also use
function calls, and lots of them. gotos make my code much more readable
than a 160 column screen.

Of course, I'm not really saying rdesktop's source doesn't need
cleaning, just that it's messiness isn't stopping me from learning from
it.