desktop: put sockt handling in own class