Поскольку все так плохо, пришлось сделать рабочий пример.
Итак, я не делал передачу по сети. Вместо этого у меня таймер раз в три секунды "выплевывает" команду на отрисовку случайно фигуры. Остальное все как в MsPaint

Я реализовал буферный объект, который получает команды от всех рисующих, будь то по сети, будь то рисующий в своем окне....ну или таймер как в примере
