Конечно оно так. Насчет - зачем оно надо: это тестовое задание на знание взаимодействия С++ и сетей. Насчет - знаю-незнаю - спорный вопрос: я, например, специализируюсь на администрировании сетей, но понятия не имею, как программа инициирует взаимодействие в сети и куда чего пишет. Насчет документации - хороший вопрос: когда ее начинать читать? Я уверен, что не на этапе изучения предмета а в момент понимания логики работы пытаться постичь нюансы. Я не встречал документации, упрощающей понимание предмета изучения. Вы нигде в документации по ОС не найдете простого определение ядра ОС: на мой взгляд OC - просто обработчик прерывания от таймера (в самом общем случае). Если человек поймет суть работы OC^ ему будет проще читать документацию про страшные менеджеры памяти и планировщики задач: он в уме уже будет представлять себе очереди потоков и понимание кода многопоточных приложений будет проще, если все представить на элементарном уровне. По поводу TCP: За два дня я получил много советов и ссылок, и каждый рассмотренный мною пример реализован по-разному. Все, что общего во всех примерах - это socket(). Далее набор функций варьируется от примера к примеру: bind, listen, connect,... Много хорошей документации по всем этим функциям, но нигде не написано, что происходит с пакетом, когда он попадает в лапы нашей неумелой программы. Так что пока моя программа похожа на слона в посудной лавке. Меня утешает тот лишь факт, что Вы считаете эти вещи достаточно тривиальными - значит, в них просто разобраться. Я только пока не нашел, в чем соль...
|