Только что случайно (ну почти :)) получил очень наглядный пример реализации рекурсии.
Итак, дано:
WKS1 – мой компьютер #1 в офисе
WKS2 – мой компьютер #2 в офисе, с внешним IP
HOME – мой комьютер дома
WKS1, WKS2 – Windows 2000 c TightVNC (удаленный desktop доступ)
HOME – FreeBSD 5.3 c VNC клиентом и включенным remote sharing в XOrg (тот же VNC сервер).
Итак, WKS1 коннектится к и получает контроль над HOME, HOME коннектится и получает контроль над WKS2, WKS2 коннектится и получает контроль над WKS1…
После последнего шага мы получаем пример рекурсивного вызова, новые десктопы будут плодиться внутри себя до бесконечности или пока что-то не рухнет 🙂
P.S. TightVNC рулит в качестве VNC клиента/сервера для win платформы. По сравнению с RealVNC Free Edition, масса дополнительных опций и намного компактнее.