Может и оверкилл, но для себя я использую формулу google protocolbuffer + boost asio = нет проблем с пересылкой структур. Только нужно идентифицировать пакеты.
Проблема в рабочей директории.
В Project -> Properties -> Debugging -> Working Directory ставим $(TargetDir)
И текущая директория при запуске будет той, где лежит исполняемый файл. Ну или можно использовать абсолютный путь.