Если честно данных маловато, но что точно могу сказать, то во первых не нужно изобретать велосипеды, не нужно винсок и т.д.
Четко описываете задачу, детально по шагам. То есть расписываете вначале всю логику сервера и клиента.
Потом подбираете соответствующий протокол.
Писать его точно не нужно в 99,(9)% случаев, т.к. все уже давно написано
Ваша задача проанализировать, что Вам подходит и выбрать.
Начиная конечно же с фтп и т.д.
Дальше просто берете гтовый опенсорсный стек этого протокола и половина задачи уже решена.
На счет яп, вариантов не много.
Вам наверняка будут кричать на джаве делаейте, она рулит.
Категорически не согласен, не люблю его сильно сильно...
Из реально платформа независимых остается только Go.
По мне отличный язык. Масштабных проектов на нем не писал. Но небольшие клиент-серверные приложения мне на нем делать понравилось. Быстро, удобно, понятно...
Фреймворк по мне не нужен в данном случае...
Но тут могу и ошибаться. Просто сам не использовал, а потому и посоветовать не могу, хватало читого языка всегда.