Работа с сокетами в Windows и Unix очень похожа. По Unix я пользовался книгой Терренс Чан Системное прогр-ие на CPP (кажется). К книге есть примеры работы с сокетами. Примеров и книг масса в сети.
Потоки я не использовал, достаточно было датаграммных пакетов (UDP), что и Вам рекомендую для начала.
Если нужен потоковый обмен - UDP не пойдет, надо TCP.
Цитата
Скажите, пожалуйста, правильно ли я понимаю, что с помощью сокетов я смогу реализовать что-то похожее на функциональность юниксовского open/write/read или хотя бы fopen/fprintf/fscanf/feof
UDP - только read/write.
Цитата
Скажите, пожалуйста, можно ли это как-то сделать так, что оно присоединяется через какой-то секьюрны протокол (SSL/TLS) и коммуникация происходит с какого-то ремоут хоста на мою ембеддед линукс борду?
Если Вы реализуете соединение на TCP, то режим с шифрованием включается очень просто, при открытии соединения надо в битовой маске параметров установить бит разрешения этого режима. Детально сказать не могу, сам не использовал, инф только по документации.
Цитата
С защитой - паранойи нет, но нужна возможность минимальной защиты от дурака, то есть типа борда сидит в открытой сетке, и только тот, кто имеет право (то есть имеет хотя бы пароль), на нее может посылать команды.
Если достаточно только пароля - то шифрование TLS можете вообще не использовать (ОНО защищает канал от перехвата), а доступ по паролю
реализуете сами (сам пароль передаете в кодированном виде. Кодирование на стороне клиента - с использованием случайного числа, которое генерирует сервер).
---
Цитата
Если есть какие-то альтернативы или так делать ко каким-то причинам не правильно или не эффективно, то, пожалуйста, посоветуйте!

Альтернатив - миллион

Эффективность зависит от критериев, по которым Вы будете оценивать результат работы.
Главное - начать поэтапно, на практике, реализовывать то что задумали.
Если не ясно, как сделать все в комплексе - делаете то, что нужно в любом случае.
Реализуйте на PC "клиента" TCP (MSVC, Java). На SoC - "сервер", выполняющий "эхо" функцию.
Если это будет реализовано, можно идти дальше. Как "бонус" - автоматически получаете утилиту для тестирования сервера которая понадобится в дальнейшем для отладки-диагностики . На следующем этапе эту утилиту дополняете прочими ф-ми для тестирования сервера. Прикладные функции, прописанные в утилите используете в клиенте.
Возможно, такая последовательность для Вас - пройденный этап, но я работал по такой схеме.