Wenn es nicht unbedingt ein selbstgemachtes Programm sein soll, kannst du ja RealVNC oder TightVNC verwenden. Da letzteres sogar OpenSource ist, kann man sich den Quelltext runterladen und nachschauen, wie dein Problem in diesem Programm gelöst wurde. Mehr fällt mir dazu im Moment auch nicht ein (abgesehen von dem was schon gesagt wurde).
MfG
Binärbaum