Да. Не.
Протоколы TCP и UDP имеют слишком много семантики, чтобы их можно было легко сопоставить с вашими обычными API файлового потока. Это не значит, что это невозможно или даже сложно, но, вероятно, будет много и много ошибок и крайних случаев, которые дадут вам дико непредсказуемое поведение. Я также не могу не думать ни о каких приложениях, где вы можете рассматривать сокет как обычный файл.
В конце концов, как только вы разберетесь с привязкой, прослушиванием и принятием, ни один из которых вы не можете сделать с потоками файлов C, и оберните описатель результирующего файла в тип потока файлов, все, что вы собираетесь сделать do это использовать fread () и fwrite (), возможно fgetc (), так что вы можете оставить его как обычный файловый дескриптор, а также использовать recv () и send () и избавить себя от необходимости переноса. Вы можете избавить себя от хлопот, связанных с буферизацией, но имея контроль над буферизацией, вы можете настроить свой буфер в соответствии с требованиями приложения и сэкономить некоторые сетевые издержки и скорость.