Книга: C# для профессионалов. Том II

Протоколы нижнего уровня

В этом разделе кратко упоминаются некоторые из классов .NET, используемые для коммуникации на нижнем уровне.

Коммуникация между компьютерами работает на нескольких различных уровнях. Рассмотренные до сих пор в этой главе классы действуют на самом высоком уровне, на котором определены особые команды. Наверное, проще всего понять это, рассматривая FTP, так как многие разработчики знакомы с командами FTP. Хотя в последние годы появился ряд хороших утилит FTP на основе UI, но до недавних пор основным инструментом, используемым для FTP в среде Windows, была команда DOS ftp, которая работала в командной строке, и поэтому использование ее включало явный ввод посылаемых серверу инструкций ftp.

HTTP, Telnet, SMTP, POP и другие протоколы основываются на похожих наборах команд. Единственное различие состоит в том, что для большинства из этих протоколов используются инструменты, которые скрывают передачу команд от пользователя, так что он обычно об этом не знает. Например, когда в браузере Web вводится URL и посылается запрос Web, браузер на самом деле посылает на сервер команду GET (обычным текстом), соответствующую по своему назначению команде FTP get. Он может также послать команду POST, которая указывает, что к запросу присоединены другие данные.

Однако эти протоколы сами по себе не являются достаточными для обеспечения коммуникации между компьютерами. Даже если клиент и сервер понимают, например, протокол HTTP, они все равно не смогут понять друг друга, если не будет точно согласовано, как передавать символы. Какой двоичный формат будет использоваться, и, даже спускаясь на самый нижний уровень, какое напряжение будет использоваться для представления 0 и 1 в двоичных данных? Это связано с тем, что существует множество различных согласуемых протоколом элементов, которые разработчики и инженеры, работающие в этой области, часто называют стеком протоколов. Стек протоколов является, по сути, списком различных протоколов от самого верхнего уровня (HTTP, FTP и т. д.) до базовых протоколов напряжения нижнего уровня и т.д.

К счастью, для большей части разработок нет необходимости спускаться так далеко вниз по стеку. Но если требуется эффективная коммуникация, нет ничего необычного в написании кода, который работает непосредственно на уровне пересылки между компьютерами пакетов двоичных данных. Это область таких протоколов, как TCP, и Microsoft предоставляет ряд классов, которые позволяют удобно работать с двоичными данными на этом уровне. Используя эти классы, можно, например, послать широковещательное сообщение, которое будет одновременно получено рядом компьютеров в сети.

Оглавление книги

Оглавление статьи/книги

Генерация: 0.202. Запросов К БД/Cache: 0 / 0
поделиться
Вверх Вниз