Программирование в сетях windows э джонс д оланд

Работа по теме: Программирование в сетях Windows. ВУЗ: БГТУ.

Э. Джонс, Д. Оланд

Программирование в сетях

Microsoft®

W i n d o w s

i !»э :

МАСТЕР-КЛАСС

« . Р У С С К А Я

Р Е Д А К Ц И Я

о Москва • Санкт-Петербург ХарЩсов Минск 2002

|,К

004.43

Ж 32.973.26-018

иконе Э., Оланд Дж.

i 0

Программирование в сетях Microsoft Windows. Мастер-класс. / Пер. с англ. —

Спб.: Питер, М: Издательско-торговый дом «Русская Редакция», 2002. — 608 стр.: ил.

ISBN 5-318-00725-2

ISBN 5-7502-0148-1

Книга знакомит читателя с многообразием сетевых функций ОС семей-

ства Windows. Обсуждается разработка сетевых приложений на платформе

Win32 с использованием интерфейсов программирования NetBIOS и Winsock,

а также распространенных протоколов. На конкретных примерах рассмот-

рены клиент-серверная модель; установка соединения и передача данных;

регистрация и разрешение имен, в том числе применительно к Windows 2000

и Active Directory; широковещание в сети; ATM; QoS и удаленный доступ.

В приложениях содержится справочник команд NetBIOS (с указанием вход-

ных и выходных параметров), сведения о новых функциях IP Helper, а так-

же справочник кодов ошибок Winsock.

Адресована как профессиональным программистам, так и новичкам, для

которых станет удобным справочником и исчерпывающим пособием по

использованию сетевых функций Windows

Состоит из 15 глав, трех приложений и предметного указателя; прилагаемый

компакт-диск содержит примеры программ.

УДК 004.43

ББК 32.973.26-018

Подготовлено к изданию по лицензионному договору с Microsoft Corporation, Редмонд, Ва-

шингтон, США

Intel — охраняемый товарный знак компании Intel Corporation Active Directory, ActiveX,

Authenticode, BackOffice, BizTalk, JScnpt, Microsoft, Microsoft Press, MSDN, MSN, NetMeeting,

Outlook, Visual Basic, Win32, Windows и Windows NT являются товарными знаками или охра-

няемыми товарными знаками корпорации Microsoft в США и/или других странах Все дру-

гие товарные знаки являются собственностью соответствующих фирм

Все названия компаний, организаций и продуктов, а также имена лиц и события, ис-

пользуемые в примерах, вымышлены и не имеют никакого отношения к реальным компани-

ям, организациям, продуктам, событиям и лицам, если особо не указано иное

г

©

Оригинальное издание на английском

1BN 0 — 7356 — 0560 — 2 (англ.)

языке, Microsoft Corporation, 2000

IBN 5-318-00725

-2

©

Перевод на русский язык, Microsoft

‘ 5-7502-0148

-1

Corporation, 2001

Оглавление

Введение

XII

Ч А С Т Ь

I. УСТАРЕВШИЕ СЕТЕВЫЕ API

1

ГЛАВА 1.

Интерфейс NetBIOS

2

Интерфейс Microsoft NetBIOS

3

Номера LANA

4

Имена NetBIOS

5

Особенности NetBIOS

8

Основы программирования NetBIOS

9

Синхронный и асинхронный вызов

11

Типичные процедуры NetBIOS

11

Сервер сеансов: модель асинхронного обратного вызова

19

Сервер сеансов: модель асинхронных событий

24

Клиент сеанса NetBIOS

30

Дейтаграммные операции

34

Дополнительные команды NetBIOS

48

Проверка состояния адаптера (команда NCBASTAT)

49

Команда поиска имени (NCBFINDNAME)

51

Сопоставление протоколов номерам LANA

51

Рекомендации по выбору платформ

52

Платформа Windows СЕ

52

Платформа Windows 9x

52

Для любых платформ

53

Резюме

53

ГЛАВА 2.

Перенаправитель

54

Универсальные правила именования

55

Поставщик нескольких UNC

55

Компоненты сетевого доступа

56

Перенаправитель

57

Протокол SMB

57

Безопасность

59

Дескрипторы безопасности

59

Маркеры доступа

61

Сетевая безопасность

61

Реквизиты сеанса

61

Пример

62

Резюме

63

ГЛАВА 3.

Почтовые ящики

64

Подробности внедрения почтовых ящиков

64

Имена почтовых ящиков

65

*

Размеры сообщений

65

0С|

Компиляция приложения

67

Коды ошибок

67

Оглавление

)бщие сведения об архитектуре клиент-сервер

67

Сервер почтовых ящиков

67

Клиент почтовых ящиков

70

1,ополнительные API-функции почтовых ящиков

72

Тлатформа и производит ельность

7 3

Правила именования < 8 3 >

7 3

Неспособность отменить блокирующие запросы ввода-вывода

74

Утечки памяти

76

‘езюме

77

«ЛАВА 4. Именованные каналы

78

[етали реализации именованных каналов

79

Правила именования каналов

79

Режимы побайтовый и сообщений

79

Компиляция приложений

79

Коды ошибок

80

1ростой сервер и клиент

80

Детали реализации сервера

80

Усовершенствованный сервер каналов

87

Детали реализации клиента

95

1,ругиеAPI-вызовы

98

1латформа и производительность

101

‘езюме

101

Ч А С Т Ь

II. ИНТЕРФЕЙС ПРИКЛАДНОГО

1РОГРАММИРОВАНИЯ WINSOCK

103

«ЛАВА 5.

Сетевыепротоколы

104

Характеристики протоколов

104

Протокол, ориентированный на передачу сообщений

104

Обмен данными, с соединением и без него

106

Надежность и порядок доставки сообщений

1 Об

Сорректное завершение работы

107

Широковещание данных

108

Многоадресное вещание

108

Качество обслуживания

108

Фрагментарные сообщения

109

Маршрутизация

109

Другие характеристики

109

Тоддерживаемые протоколы

110

Сетевые протоколы, поддерживаемые Win32

110

Сетевые протоколы в Windows СЕ

112

Информация о протоколе

112

Зокеты Windows

116

Простые сокеты

118

Информация о платформах

118

Winsock и модельOSI

119

Зыбор соответствующего протокола

119

5езюме

120

Оглавление

VII

ГЛАВА 6. Семейства адресов и разрешение имен

121

Протокол IP

121

Протокол TCP

121

Протокол UDP

122

Адресация

122

Порядок байт

124

Создание сокета

125

Разрешениеимен

125

Инфракрасные сокеты

128

Адресация

128

Разрешение имен

128

Нумерация IrDA-устройств

129

Опрос IAS

131

Создание сокета

133

Параметры сокета

133

Протоколы IPX/SPX

133

Адресация

133

Создание сокета

134

Разрешение имен

137

Протоколы NetBIOS

137

Адресация

137

Создание сокета

139

Протокол AppleTalk

140

Адресация

140

Создание сокета

148

Протокол ATM

148

Адресация

149

Создание сокета

153

Привязка сокета к SAP

154

Разрешениеимен

155

Дополнительные функции Winsock 2

155

Резюме

156

ГЛАВА 7. Основы Winsock

157

ИнициализацияWinsock

157

Проверка и обработка ошибок

159

Протоколы с установлением соединения

160

Серверные API-функции

1б0

API-функции клиента

164

Передача данных

168

Потоковые протоколы

173

Завершение сеанса

175

Пример

176

Протоколы, не требующие соединения

185

Приемник

185

Отправитель

187

Протоколы, ориентированные на передачу сообщений

188

Освобождение ресурсов сокета

189

Пример

189

ЛИ Оглавление

1,ополнительные функции API

197

Функция

getpeername

197

Функция

getsockname

198

Функция

WSADuphcateSocket

198

Функция

TransmitFile

199

пя платформы Windows СЕ

200

1ругие семейства адресов

201

Протокол AppleTalk

201

Инфракрасные сокеты

202

Интерфейс с NetBIOS

202

Протокол IPX/SPX

203

Протокол ATM

204

‘езюме

204

«ЛАВА 8. Ввод-вывод в Winsock

205

‘ежимы работы сокетов

206

Блокирующий режим

206

Неблокирующий режим

208

Додели ввода-вывода сокетов

209

Модель select

209

Модель WSAAsyncSelect

213

Модель WSAEventSelect

217

Модель перекрытого ввода-вывода

223

Модель портов завершения

234

‘равнение моделей ввода-вывода

243

Клиент

243

Сервер

243

5езюме

243

«ЛАВА 9. Параметры сокета и команды управления

SBOflOM-ВЫВОДОМ

245

Тараметры сокета

245

Уровень

SOLJOCKET

246

Уровень параметров SOLAPPLETALK

255

Уровень параметров SOL IRLMP

258

Уровень

параметров IPPROTOJP

262

Уровень

параметров IPPROTOTCP

267

Уровень параметров NSPROTO IPX

268

Функции Ioctlsocket и WSAloctl

272

Стандартные ioctl-команды

273

Другие ioctl-команды

274

Ioctl-команды Secure Socket Layer

282

Ioctl-команды для ATM

283

Резюме

285

«ЛАВА 10. Регистрация и разрешение имен

286

введение

286

Модели пространства имен

287

Перечень пространств имен

287

Регистрация службы

289

Определение класса службы

Регистрация службы Запрос к службе

Создание запроса Запрос к DNS

Резюме

ГЛАВА 11. Многоадресная рассылка

Семантика многоадресной рассылки Свойства многоадресной рассылки

Многоадресная рассылка в сетях IP Протокол IGMP

Листовые узлы IP Реализация 1Р-рассылки

Многоадресная рассылка в сетях ATM Листовые узлы ATM

Корневые узлы ATM

Многоадресная рассылка с использованием Winsock Рассылка средствами Winsock 1

Рассылка средствами Winsock 2 Общие параметры Winsock

Ограничение многоадресной рассылки при удаленном доступе Резюме

ГЛАВА 12. Качество обслуживания

Введение

Протокол RSVP Сетевые компоненты

Компоненты приложения Компоненты политики безопасности

QoS и Winsock

Структуры QoS

Функции, вызывающие QoS Завершение QoS

Объекты, относящиеся к поставщику Программирование QoS

RSVP и типы сокетов Уведомления QoS

Шаблоны QoS Примеры

Одноадресный TCP

Одноадресный UDP

Многоадресный UDP

ATM и QoS Резюме

ГЛАВА 13. Простые сокеты

Создание простого сокета

Протокол ICMP Пример Ping

289

293

299

301

304

307

308

308

311

зп

312

313

314

314

315

315

316

316

323

340

342

342

343

343

344

344

346

347

348

349

352

356

356

365

366

368

371

373

373

394

395

396

397

398

398

399

401

Оглавление

Программа Traceroute

411

Протокол IGMP

412

Использование IPJiDRINCL

414

Резюме

424

«ЛАВА 14. Интерфейс Winsock 2 SPI

425

Основы SPI

426

Соглашения SPI об именах

426

Соответствие функций Winsock 2 API и SPI

426

Поставщики транспортной службы

427

Функция WSPStartup

428

Описатели сокетов

433

Поддержка модели ввода-вывода Winsock

435

Модель select

437

Расширенные функции

446

Установка поставщиков транспортной службы

447

Тоставщики службы пространства имен

453

Установка поставщика пространства имен

453

Реализация пространства имен

455

Пример

461

Отладочные функции отслеживания Winsock 2 SPI

466

Резюме

467

«ЛАВА 15. Элемент управления Winsock

468

Свойства

468

Методы

470

События

471

Пример (UDP-приложение)

472

Пересылка UDP-сообщений

476

Прием UDP-сообщений

477

Получение информации от элемента Winsock

478

Запуск UDP-приложения

478

Состояние UDP-сокетов

479

11ример (TCP-приложение)

480

СР-сервер

487

TCP-клиент

489

Получение информации о состоянии элемента

управления Winsock

490

Запуск TCP-приложения

490

Состояние ТСР-сокетов

491

Ограничения

491

Гипичные ошибки

493

Ошибка Local address in use

493

Ошибка Invalid Operation at Current State

493

Элемент управления Windows СЕ Winsock

494

Пример

494

Проблема с элементом управления

VBCE Winsock

499

Резюме

499

Оглавление

XI

Ч А С Т Ь

I I I .

СЛУЖБА УДАЛЕННОГО

ДОСТУПА (RAS)

500

ГЛАВА 16.

Клиент службы RAS

501

Компиляция и компоновка

502

Структуры данных и вопросы совместимости платформ

503

Обновление DUN 1.3 и Windows 95

503

ФункцияRasDial

503

Синхронный режим

506

Асинхронный режим

507

Уведомление о состоянии

512

Завершение соединения

513

Телефонный справочник

514

Добавление записей в телефонный справочник

522

Переименование записи телефонного справочника

525

Удаление записей из телефонного справочника

525

Перечисление записей телефонного справочника

526

Управление реквизитами пользователя

527

Многоканальные подзаписи телефонного справочника

529

Управление соединением

530

Резюме

534

Приложение А.

Перечень команд NetBIOS

535

Приложение В.

Вспомогательные функции IP

549

Возможности утилиты Ipconfig

Освобождение и обновление IP-адресов

5

Изменение IP-адреса

Возможности утилиты Netstat

Получение таблицы TCP-соединений

5

Получение таблицы прослушиваемых портов UDP

55

Получение статистики о протоколе IP

5

Возможности утилиты Route

Получение таблицы маршрутов

Добавление маршрута

Удаление маршрута

Утилита ARP

Добавление записи ARP

Удаление записи ARP

Приложение С.

Коды ошибок Winsock

568

От авторов

575

Предметный указатель

576

if

О книге «Программирование в сетях Microsoft Windows»

Книга знакомит читателя с многообразием сетевых функций ОС семей- ства Windows. Обсуждается разработка сетевых приложений на платформе Win32 с использованием интерфейсов программирования NetBIOS и Winsock, а также распространенных протоколов. На конкретных примерах рассмот- рены клиент-серверная модель; установка соединения и передача данных; регистрация и разрешение имен, в том числе применительно к Windows 2000 и Active Directory; широковещание в сети; ATM; QoS и удаленный доступ. В приложениях содержится справочник команд NetBIOS (с указанием вход- ных и выходных параметров), сведения о новых функциях IP Helper, а так- же справочник кодов ошибок Winsock. Адресована как профессиональным программистам, так и новичкам, для которых станет удобным справочником и исчерпывающим пособием по использованию сетевых функций Windows Состоит из 15 глав, трех приложений и предметного указателя; прилагаемый компакт-диск содержит примеры программ.

Произведение было опубликовано в 2002 году издательством Русская Редакция. На нашем сайте можно скачать бесплатно книгу «Программирование в сетях Microsoft Windows» в формате pdf или читать онлайн. Рейтинг книги составляет 5 из 5. Здесь так же можно перед прочтением обратиться к отзывам читателей, уже знакомых с книгой, и узнать их мнение. В интернет-магазине нашего партнера вы можете купить и прочитать книгу в бумажном варианте.


Подборка по базе: Информационные системы и программирование 3 семестр.pdf@test_syn, 7.Алгоритмизация и программирование.docx, Практическая работа №20. Программирование в SQL92022).docx, Лабораторная работа введение в программирование.docx, Вопросы по пайтон программирование.docx, лекция 11. Программирование.docx, Курсовая работа программирование.odt, Мат. программирование. Пениа Г.Г..doc, Волк В. — Базы данных. Проектирование, программирование, управле, Объектно-ориентированное программирование.pdf


A n t h o n y J o n e s
J i m O h i u n d
N
e
t
w
o
r
k
P
r
o
g
r
a
m
m
l
n
f
o
r
M i c r o s o f t ®
W
i
n
d
o
w
s
M i c r o s o f t P r e s s

Э. Джонс, Д. Оланд
Программирование
в сетях
Microsoft®
W i n d o w s
i ! » э :
МАСТЕР-КЛАСС
« . Р У С С К А Я РЕДАКЦИЯ
о Москва • Санкт-Петербург ХарЩсов Минск
2002

|,К 004.43
Ж 32.973.26-018
иконе Э., Оланд Д ж .
i 0 Программирование в сетях Microsoft Windows. Мастер-класс. / Пер. с англ. —
Спб.: Питер, М: Издательско-торговый дом «Русская Редакция», 2002. — 608 стр.: ил.
ISBN 5 — 3 1 8 — 0 0 7 2 5 — 2
ISBN 5 — 7 5 0 2 — 0 1 4 8 — 1
Книга знакомит читателя с многообразием сетевых функций ОС семей- ства Windows. Обсуждается разработка сетевых приложений на платформе
Win32 с использованием интерфейсов программирования NetBIOS и Winsock,
а также распространенных протоколов. На конкретных примерах рассмот- рены клиент-серверная модель; установка соединения и передача данных;
регистрация и разрешение имен, в том числе применительно к Windows 2000
и Active Directory; широковещание в сети; ATM; QoS и удаленный доступ.
В приложениях содержится справочник команд NetBIOS (с указанием вход- ных и выходных параметров), сведения о новых функциях IP Helper, а так- же справочник кодов ошибок Winsock.
Адресована как профессиональным программистам, так и новичкам, для которых станет удобным справочником и исчерпывающим пособием по использованию сетевых функций Windows
Состоит из 15 глав, трех приложений и предметного указателя; прилагаемый компакт-диск содержит примеры программ.
УДК 004.43
ББК 32.973.26-018
Подготовлено к изданию по лицензионному договору с Microsoft Corporation, Редмонд, Ва- шингтон, США
Intel — охраняемый товарный знак компании Intel Corporation Active Directory, ActiveX,
Authenticode, BackOffice, BizTalk, JScnpt, Microsoft, Microsoft Press, MSDN, MSN, NetMeeting,
Outlook, Visual Basic, Win32, Windows и Windows NT являются товарными знаками или охра- няемыми товарными знаками корпорации Microsoft в США и/или других странах Все дру- гие товарные знаки являются собственностью соответствующих фирм
Все названия компаний, организаций и продуктов, а также имена лиц и события, ис- пользуемые в примерах, вымышлены и не имеют никакого отношения к реальным компани- ям, организациям, продуктам, событиям и лицам, если особо не указано иное
г
© Оригинальное издание на английском
1BN 0 — 7 3 5 6 — 0 5 6 0 — 2 (англ.) языке, Microsoft Corporation, 2000
IBN 5 — 3 1 8 — 0 0 7 2 5 — 2 © Перевод на русский язык, Microsoft
‘ 5 — 7 5 0 2 — 0 1 4 8 — 1 Corporation, 2001

Оглавление
Введение XII
Ч А С Т Ь I. УСТАРЕВШИЕ СЕТЕВЫЕ API 1
ГЛАВА 1. Интерфейс NetBIOS 2
Интерфейс Microsoft NetBIOS 3
Номера LANA 4
Имена NetBIOS 5
Особенности NetBIOS 8
Основы программирования NetBIOS 9
Синхронный и асинхронный вызов 11
Типичные процедуры NetBIOS 11
Сервер сеансов: модель асинхронного обратного вызова 19
Сервер сеансов: модель асинхронных событий 24
Клиент сеанса NetBIOS 30
Дейтаграммные операции 34
Дополнительные команды NetBIOS 48
Проверка состояния адаптера (команда NCBASTAT) 49
Команда поиска имени (NCBFINDNAME) 51
Сопоставление протоколов номерам LANA 51
Рекомендации по выбору платформ 52
Платформа Windows СЕ 52
Платформа Windows 9x 52
Для любых платформ 53
Резюме 53
ГЛАВА 2. Перенаправитель 54
Универсальные правила именования 55
Поставщик нескольких UNC 55
Компоненты сетевого доступа 56
Перенаправитель 57
Протокол SMB 57
Безопасность 59
Дескрипторы безопасности 59
Маркеры доступа 61
Сетевая безопасность 61
Реквизиты сеанса 61
Пример 62
Резюме 63
ГЛАВА 3. Почтовые ящики 64
Подробности внедрения почтовых ящиков 64
Имена почтовых ящиков 65
* Размеры сообщений 65 0С| Компиляция приложения 67
Коды ошибок 67

Оглавление
)бщие сведения об архитектуре клиент-сервер 67
Сервер почтовых ящиков 67
Клиент почтовых ящиков 70 1,ополнительные API-функции почтовых ящиков 72
Тлатформа и производит ельность 7 3
Правила именования < 8 3 >
7 3
Неспособность отменить блокирующие запросы ввода-вывода 74
Утечки памяти 76
‘езюме 77
«ЛАВА 4. Именованные каналы 78
[етали реализации именованных каналов 79
Правила именования каналов 79
Режимы побайтовый и сообщений 79
Компиляция приложений 79
Коды ошибок 80 1ростой сервер и клиент 80
Детали реализации сервера 80
Усовершенствованный сервер каналов 87
Детали реализации клиента 95 1,ругие API-вызовы 98 1латформа и производительность 101
‘езюме 101
Ч А С Т Ь I I . ИНТЕРФЕЙС ПРИКЛАДНОГО
1РОГРАММИРОВАНИЯ WINSOCK 103
«ЛАВА 5. Сетевые протоколы 104
Характеристики протоколов 104
Протокол, ориентированный на передачу сообщений 104
Обмен данными, с соединением и без него 106
Надежность и порядок доставки сообщений 1 Об
Сорректное завершение работы 107
Широковещание данных 108
Многоадресное вещание 108
Качество обслуживания 108
Фрагментарные сообщения 109
Маршрутизация 109
Другие характеристики 109
Тоддерживаемые протоколы 110
Сетевые протоколы, поддерживаемые Win32 110
Сетевые протоколы в Windows СЕ 112
Информация о протоколе 112
Зокеты Windows 116
Простые сокеты 118
Информация о платформах 118
Winsock и модель OSI 119
Зыбор соответствующего протокола 119 5
езюме 120

Оглавление VII
ГЛАВА 6. Семейства адресов и разрешение имен 121
Протокол IP 121
Протокол TCP 121
Протокол UDP 122
Адресация 122
Порядок байт 124
Создание сокета 125
Разрешениеимен 125
Инфракрасные сокеты 128
Адресация 128
Разрешение имен 128
Нумерация IrDA-устройств 129
Опрос IAS 131
Создание сокета 133
Параметры сокета 133
Протоколы IPX/SPX 13 3
Адресация 133
Создание сокета 134
Разрешение имен 137
Протоколы NetBIOS 137
Адресация 137
Создание сокета 139
Протокол AppleTalk 140
Адресация 140
Создание сокета 148
Протокол ATM 148
Адресация 149
Создание сокета 153
Привязка сокета к SAP 154
Разрешениеимен 155
Дополнительные функции Winsock 2 155
Резюме 156
ГЛАВА 7. Основы Winsock 157
Инициализация Winsock 157
Проверка и обработка ошибок 159
Протоколы с установлением соединения 160
Серверные API-функции 1б0
API-функции клиента 164
Передача данных 168
Потоковые протоколы 173
Завершение сеанса 175
Пример 176
Протоколы, не требующие соединения 185
Приемник 185
Отправитель 187
Протоколы, ориентированные на передачу сообщений 188
Освобождение ресурсов сокета 189
Пример 189

ЛИ Оглавление
1,ополнительные функции API
Функция getpeername
Функция getsockname
Функция WSADuphcateSocket
Функция TransmitFile
пя платформы Windows СЕ
1ругие семейства адресов
Протокол AppleTalk
Инфракрасные сокеты
Интерфейс с NetBIOS
Протокол IPX/SPX
Протокол ATM
‘езюме «ЛАВА 8. Ввод-вывод в Winsock
‘ежимы работы сокетов
Блокирующий режим
Неблокирующий режим
Додели ввода-вывода сокетов
Модель select
Модель WSAAsyncSelect
Модель WSAEventSelect
Модель перекрытого ввода-вывода
Модель портов завершения ‘равнение моделей ввода-вывода
Клиент
Сервер
5
езюме «ЛАВА 9. Параметры сокета и команды управления
SBOflOM-ВЫВОДОМ
Тараметры сокета
Уровень SOLJOCKET
Уровень параметров SOLAPPLETALK
Уровень параметров SOL IRLMP
Уровень параметров IPPROTOJP
Уровень параметров IPPROTOTCP
Уровень параметров NSPROTO IPX
Функции Ioctlsocket и WSAloctl
Стандартные ioctl-команды
Другие ioctl-команды
Ioctl-команды Secure Socket Layer
Ioctl-команды для ATM
Резюме «ЛАВА 10. Регистрация и разрешение имен введение
Модели пространства имен
Перечень пространств имен
Регистрация службы
197 197 198 198 199 200 201 201 202 202 203 204 204 2 0 5 206 206 208 209 209 213 217 223 234 243 243 243 243 2 4 5 245 246 255 258 262 267 268 272 273 274 282 283 285 2 8 6 286 287 287 289

F
Определение класса службы
Регистрация службы
Запрос к службе
Создание запроса
Запрос к DNS
Резюме
ГЛАВА 11. Многоадресная рассылка
Семантика многоадресной рассылки
Свойства многоадресной рассылки
Многоадресная рассылка в сетях IP
Протокол IGMP
Листовые узлы IP
Реализация 1Р-рассылки
Многоадресная рассылка в сетях ATM
Листовые узлы ATM
Корневые узлы ATM
Оглавление
Многоадресная рассылка с использованием Winsock
Рассылка средствами Winsock 1
Рассылка средствами Winsock 2
Общие параметры Winsock
Ограничение многоадресной рассылки
Резюме
ГЛАВА 12. Качество обслуживания
Введение
Протокол RSVP
Сетевые компоненты
Компоненты приложения
Компоненты политики безопасности
QoS и Winsock
Структуры QoS
Функции, вызывающие QoS
Завершение QoS
Объекты, относящиеся к поставщику
Программирование QoS
RSVP и типы сокетов
Уведомления QoS
Шаблоны QoS
Примеры
Одноадресный TCP
Одноадресный UDP
Многоадресный UDP
ATM и QoS
Резюме
ГЛАВА 13. Простые сокеты
Создание простого сокета
Протокол ICMP
Пример Ping при удаленном доступе
IX
289 293 299 301 304 307
308
308 311
зп
312 313 314 314 315 315 316 316 323 340 342 342 343 343 344 344 346 347 348 349 352 356 356 365 366 368 371 373 373 394 395 396 397 398 398 399 401

Оглавление
Программа Traceroute 411
Протокол IGMP 412
Использование IPJiDRINCL 414
Резюме 424
«ЛАВА 14. Интерфейс Winsock 2 SPI 425
Основы SPI 426
Соглашения SPI об именах 426
Соответствие функций Winsock 2 API и SPI 426
Поставщики транспортной службы 427
Функция WSPStartup 428
Описатели сокетов 433
Поддержка модели ввода-вывода Winsock 435
Модель select 437
Расширенные функции 446
Установка поставщиков транспортной службы 447
Тоставщики службы пространства имен 453
Установка поставщика пространства имен 453
Реализация пространства имен 455
Пример 461
Отладочные функции отслеживания Winsock 2 SPI 466
Резюме 467
«ЛАВА 15. Элемент управления Winsock 468
Свойства 468
Методы 470
События 471
Пример (UDP-приложение) 472
Пересылка UDP-сообщений 476
Прием UDP-сообщений 477
Получение информации от элемента Winsock 478
Запуск UDP-приложения 478
Состояние UDP-сокетов 479 11ример (TCP-приложение) 480
СР-сервер 487
TCP-клиент 489
Получение информации о состоянии элемента управления Winsock 490
Запуск TCP-приложения 490
Состояние ТСР-сокетов 491
Ограничения 491
Гипичные ошибки 493
Ошибка Local address in use 493
Ошибка Invalid Operation at Current State 493
Элемент управления Windows СЕ Winsock 494
Пример 494
Проблема с элементом управления
VBCE Winsock 499
Резюме 499

Оглавление XI
Ч А С Т Ь I I I . СЛУЖБА УДАЛЕННОГО
ДОСТУПА (RAS) 500
ГЛАВА 16. Клиент службы RAS 501
Компиляция и компоновка 502
Структуры данных и вопросы совместимости платформ 503
Обновление DUN 1.3 и Windows 95 503
Функция RasDial 503
Синхронный режим 506
Асинхронный режим 507
Уведомление о состоянии 512
Завершение соединения 513
Телефонный справочник 514
Добавление записей в телефонный справочник 522
Переименование записи телефонного справочника 525
Удаление записей из телефонного справочника 525
Перечисление записей телефонного справочника 526
Управление реквизитами пользователя 527
Многоканальные подзаписи телефонного справочника 529
Управление соединением 530
Резюме 534
Приложение А. Перечень команд NetBIOS 535
Приложение В. Вспомогательные функции IP 549
Возможности утилиты Ipconfig 549
Освобождение и обновление IP-адресов 553
Изменение IP-адреса 554
Возможности утилиты Netstat 554
Получение таблицы TCP-соединений 555
Получение таблицы прослушиваемых портов UDP 556
Получение статистики о протоколе IP 557
Возможности утилиты Route 561
Получение таблицы маршрутов 562
Добавление маршрута 564
Удаление маршрута 565
Утилита ARP 565
Добавление записи ARP 567
Удаление записи ARP 567
Приложение С. Коды ошибок Winsock 568
От авторов 575
Предметный указатель 576
if

Введение
Перед вами книга, посвященная сетевым функциям Windows 9х, NT 4, 2000
и СЕ Она предназначена в первую очередь опытным программистам и спе- циалистам по сетям Впрочем, для начинающих она может послужить полез- ным справочным пособием и даже вводным курсом по сетевым функциям
О чем эта книга
В книге три части, посвященные работе в сети с применением NetBIOS и пе- ренаправителя Windows, Winsock и RAS соответственно
В главе 1 рассматривается NetBIOS По нашему опыту работы в команде поддержки разработчиков Microsoft мы знаем, что многие компании все еще используют эту технологию Между тем, до сих пор нет адекватного руковод- ства по написанию приложений NetBIOS для платформ Win32 В главе 1 так- же приводятся методы написания надежных и переносимых приложений (с учетом, что многие разработчики используют NetBIOS именно для связи с устаревшими системами)
Главы 2-4 посвящены перенаправителю Windows, почтовым ящикам и именованным каналам Как вы знаете, почтовые ящики и именованные ка- налы основаны на перенаправителе Мы решили посвятить перенаправите- лю целую главу, чтобы предоставить читателю базовую информацию о том,
как три эти технологии соотносятся друг с другом Почтовые ящики — это ненадежный однонаправленный ориентированный на сообщения интер- фейс прикладного программирования, не зависимый от доступных в систе- ме протоколов Именованные каналы обладают более широкими возможно- стями, обеспечивая надежную двустороннюю дейтаграммную или поточную передачу данных Эти каналы используют средства безопасности Windows
NT за счет перенаправителя, на что не способен ни один другой сетевой API- интерфейс
Вторая часть книги посвящена API-интерфейсу Winsock Глава 5 — это введение в Winsock, где рассказывается о наиболее распространенных про- токолах Winsock Все приложения Winsock должны создавать сокет для осу- ществления связи В этой главе мы приводим основную информацию о воз- можностях каждого протокола, а в главе б — подробное описание, как со- здать сокет и разрешить имя для каждого типа протокола
В главе 7 — самое интересное Здесь мы представляем базовую модель про- граммирования клиент-сервер и описываем большинство функций Winsock,
которые относятся к установлению и приему связи, передаче данных и г п
Далее, в главе 8 рассказывается о методах ввода-вывода в Winsock Так как глава
7 задумывалась как введение в указанную тему, в ней обсуждаются только про- стейшие методы ввода-вывода В главе 8, напротив, эти методы описаны под-

Введение робно Если вы новичок в работе с Winsock, то главы 5-7 помогут вам овла- деть основами использования этого API-интерфейса
Остальные главы этой части книги посвящены особым аспектам и воз- можностям Winsock Параметры сокетов и команды управления вводом-вы- водом рассмотрены в главе 9 Именно здесь вы найдете описание большинства команд, влияющих на работу сокета или даже протокола На- деемся, эта глава будет полезна, как в учебных, так и в справочных целях
В главе 10 рассмотрена регистрация и разрешение имен служб в адреса базового протокола в Winsock 2 Это независимый от протокола метод Рас- пространение Windows 2000 и Active Directory придает данной главе особую значимость
Глава 11 посвящена связи «точка — много точек>>, включая многоадресное
IP- вещание и ATM В главе 12 описана захватывающая технология — Quality of Service (QoS), позволяющая гарантировать выделение пропускной способ- ности сети для приложений В главе 13 рассказывается о простых 1Р-соке- тах мы рассматриваем, как приложения Winsock могут использовать их для работы с протоколами ICMP и IGMP, а также другие аспекты программиро- вания при помощи простых сокетов
В главе 14 описан интерфейс поставщика службы для Winsock — средства,
при помощи которого программист может задать уровень между Winsock и поставщиками служб более низких уровней (например, TCP/IP) для управ- ления работой сокета и протокола, регистрацией и разрешением имен Этот сложный инструмент позволяет расширить функциональность Winsock
И наконец, в главе 15 обсуждается элемент управления Microsoft Visual
Basic для Winsock Мы решили включить эту главу в книгу, так как убедились,
что многие разработчики до сих пор полагаются на Visual Basic и этот эле- мент Функциональность элемента Winsock ограничена и не позволяет ис- пользовать дополнительные новые свойства Winsock, но он незаменим для тех, кому требуется простая и легкая в использовании сетевая связь в Visual
Basic
Часть III посвящена клиентскому серверу удаленного доступа (Remote
Access Server, RAS) Мы решили включить в книгу главу о RAS из-за популяр- ности Интернета и широкого распространения коммутируемого доступа к нему Возможность коммутируемого доступа в сетевом приложении очень полезна, так как упрощает работу пользователя с программой То есть конеч- ному пользователю не придется думать, как установить соединение, чтобы работать с сетевым приложением
В конце книги — три приложения Приложение А — справочник по ко- мандам NetBIOS, который, по нашему мнению, для программистов бесценен
В нем перечислены параметры ввода и вывода для каждой команды В при- ложении В описаны новые вспомогательные функции IP, выдающие полез- ную информацию о сетевой конфигурации текущего компьютера Приложе- ние С — справочник по кодам ошибок Winsock с подробным описанием от- дельных ошибок и возможных причин их возникновения

XIV Введение
Мы надеемся, что наша работа станет для вас ценным учебным и справоч- ным пособием. Думаем, что это наиболее полная книга о сетевом програм- мировании для Windows.
Как пользоваться прилагаемым
компакт-диском
В тексте книги мы часто приводим примеры программ, иллюстрирующие ра- боту с обсуждаемыми сетевыми API-интерфейсами. Эти примеры записаны на прилагаемый компакт-диск. Для их установки вставьте компакт-диск в диско- вод, и программа Autorun запустит программу установки. Программу установ- ки можно также инициировать вручную, запустив файл PressCD.exe из корне- вого каталога компакт-диска. Вы вправе установить образцы кода на компь- ютер или работать с ними прямо с компакт-диска (из папки ExamplesChap- tersChapter XX).
ПРИМЕЧАНИЕ Для работы с компакт-диском необходима 32-битная
ОС Windows.
Наряду с примерами программ в состав компакт-диска ыключена послед- няя версия Microsoft Platform SDK. Мы сделали это, потому что многие из наших примеров рассчитаны на современные заголовочные файлы и биб- лиотеки, которые появились только после Windows 2000 Beta 3.
Поддержка
Авторы приложили все усилия, чтобы обеспечить точность содержания кни- ги и прилагаемого к ней компакт-диска. Издательство Microsoft Press публи- кует постоянно обновляемый список исправлений и дополнений к своим книгам по адресу http://mspress.microsoft.com/support/.
Многие определения функций и таблицы в книге адаптированы или пе- реизданы с разрешения и при активном участии группы документирования
Microsoft Platform SDK. Часть материала основана на предварительно разра- ботанной документации и может претерпеть изменения. Информацию, об- новления и исправления ошибок по последней версии SDK см. на Web- узле MSDN по адресу: http://msdn.microsoft.com/developer/sdk/platform.asp.
Если все же у вас возникнут вопросы или вы захотите поделиться свои- ми предложениями или комментариями, обращайтесь в издательство Mic- rosoft Press по одному из этих адресов:
mspinput@microsoft.com
Microsoft Press
Attn: Network Programming for Microsoft Windows Editor
One Microsoft Way
Redmond, WA 98052-6399

Ч А С Т Ь I
УСТАРЕВШИЕ
СЕТЕВЫЕ API
о
Первая часть издания посвящена сетевому интерфейсу NetBIOS, перенапра- вителю и типам использующих его сетевых соединений. Хотя в книге в ос- новном обсуждается программирование средствами Winsock, мы включили в нее часть I, так как устаревшие сетевые API имеют некоторые преимуще- ства перед Winsock.
В главе 1 рассматривается интерфейс NetBIOS, который, как и Winsock,
является независимым от протокола сетевым API. NetBIOS обеспечивает асинхронные вызовы, а также совместимость со старыми операционными системами типа OS/2, DOS и др. В главе 2 обсуждается перенаправитель, с которым связаны две следующие темы: почтовые ящики (глава 3) и имено- ванные каналы (глава 4). Перенаправитель обеспечивает независимый от транспорта ввод-вывод файлов. Почтовые ящики — это простой интерфейс,
который помимо прочего поддерживает широковещание и однонаправлен- ное взаимодействие между компьютерами под управлением Windows. Нако- нец, именованные каналы дают возможность использовать двусторонний ка- нал связи, который поддерживает функции безопасности Windows.

Г Л А В А
Интерфейс NetBIOS
Network Basic Input/Output System (NetBIOS) — стандартный интерфейс
прикладного программирования (application programming interface, API),
разработанный Sytek Corporation для IBM в 1983 г. NetBIOS определяет про- граммный интерфейс для сетевой связи, но не обусловливает физический способ передачи данных по сети. В 1985 г. IBM предприняла попытку сфор- мировать цельный протокол — создала NetBIOS Extended User Interface (Net-
BEUI), интегрированный с интерфейсом NetBIOS. Программный интерфейс
NetBIOS вскоре приобрел такую популярность, что поставщики ПО начали реализовать его для других протоколов, таких как TCP/IP и IPX/SPX. В на- стоящее время NetBIOS используют платформы и приложения во всем мире,
включая многие компоненты Windows NT, Windows 2000, Windows 95 и
Windows 98.
ПРИМЕЧАНИЕ Windows СЕ не дает возможности использовать Net-
BIOS API, хотя поддерживает транспортный протокол TCP/IP, имена
NetBIOS и механизм их разрешения.
В Win32 интерфейс NetBIOS обеспечивает обратную совместимость со старыми приложениями. В этой главе обсуждаются главные принципы про- граммирования с помощью NetBIOS, начиная с имен NetBIOS и номеров
LANA. Мы рассмотрим основные услуги, предлагаемые NetBIOS, включая те,
что обеспечивают связь с установлением соединения или без такового (дей- таграммные). В каждом разделе будет приведен простой клиент-серверный пример. Завершит главу обзор типичных ошибок. В приложении А вы най- дете список команд NetBIOS с обязательными параметрами и кратким опи- санием.
Сетевая модель 0SI
Модель Open Systems Interconnect (OSI) обеспечивает высокоуровне- вое представление сетевых систем. Ее семь уровней полностью опи- сывают фундаментальные сетевые концепции: от приложения до спо- соба физической передачи данных. Вот эти уровни:
Я прикладной — предоставляет пользовательский интерфейс для передачи данных между программами;
представительский — форматирует данные;
Ш сеансовый — управляет связью между двумя узлами;

I J l- •_# r-i
Ш транспортный — обеспечивает передачу данных (надежную или ненадежную);
И сетевой — поддерживает механизм адресации между узлами и маршрутизацию пакетов данных;
канальный — управляет взаимодействием между узлами на физи- ческом уровне; отвечает за группировку данных, передаваемых по физическому носителю;
II физический — физический носитель, ответственный за переда- чу данных в виде электрических сигналов.
В этой модели NetBIOS относится к сеансовому и транспортному уровням.
Интерфейс Microsoft NetBIOS
Как уже упоминалось, существуют реализации NetBIOS API для разных сете- вых протоколов, что делает интерфейс независимым от протокола. Иначе говоря, если вы разработали приложение согласно спецификации NetBIOS,
оно может использовать протоколы TCP/IP, NetBEUI или даже IPX/SPX. Эта полезная особенность позволяет корректно написанному приложению Net-
BIOS выполняться почти на любом компьютере, независимо от физической сети. Однако есть несколько нюансов. Чтобы два приложения NetBIOS мог- ли связаться друг с другом по сети, они должны выполняться на рабочих станциях, имеющих по крайней мере один общий транспортный протокол.
Например, если на компьютере Джона установлен только TCP/IP, а на ком- пьютере Мэри — только NetBEUI, приложения NetBIOS на компьютере Джо- на не смогут связаться с приложениями на компьютере Мэри.
Кроме того, только определенные протоколы реализуют интерфейс Net-
BIOS. Например, Microsoft TCP/IP и NetBEUI делают это по умолчанию, a IPX/
SPX — нет. Поэтому Microsoft предлагает реализующую этот интерфейс вер- сию IPX/SPX, что следует учесть при проектировании сети. При установке протоколов обычно видно, поддерживает ли версия протокола IPX/SPX воз- можности NetBIOS. Например, вместе с Windows 2000 поставляется NWLink
IPX/SPX/NetBIOS Compatible Transport Protocol — то, что этот протокол под- держивает NetBIOS, прямо вытекает из его названия. В Windows 95 и Win- dows 98 в окне свойств протокола IPX/SPX есть флажок, с помощью которо- го включается поддержка NetBIOS для IPX/SPX.
Важно, что NetBEUI — немаршрутизируемый протокол. Если между кли- ентом и сервером есть маршрутизатор, приложения на этих компьютерах не смогут связаться. Маршрутизатор будет отбрасывать пакеты по мере их при- ема. TCP/IP и IPX/SPX — маршрутизируемые протоколы и не имеют такого ограничения. Так что если вы твердо запланировали использовать NetBIOS,
задействуйте в сети по крайней мере один из маршрутизируемых транспор- тных протоколов. Характеристики протоколов и рекомендации по их выбо- ру мы приводим в главе 6.

ЧАСТЬ I Устаревшие сетевые API
Номера LANA
Какое отношение имеют транспортные протоколы к NetBIOS с точки зре- ния программирования’ Ключ к пониманию NetBIOS — номера сетевых
адаптеров (LAN Adapter, LANA). В первоначальных реализациях NetBIOS
каждому физическому сетевому адаптеру присваивалось уникальное значе- ние — номер LANA. В Win32 это стало проблематичным, так как рабочая станция может иметь и множество сетевых протоколов, и множество плат сетевого интерфейса.
Номер LANA соответствует уникальным сочетаниям сетевого адаптера с транспортным протоколом. Так, если рабочая станция имеет две сетевых платы и два поддерживающих NetBIOS транспорта (например, TCP/IP и
NetBEUI), будет присвоено четыре номера LANA. Номера могут соответство- вать сочетаниям адаптера с протоколом примерно следующим образом:
0 — «TCP/IP — сетевой адаптер 1»;
1 — «NetBEUI — сетевой адаптер 1»;
2 — «TCP/IP — сетевой адаптер 2»;
3 — «NetBEUI — сетевой адаптер 2».
Номера LANA лежат в диапазоне от 0 до 9, и операционная система на- значает их без какого-либо определенного порядка Кроме LANA 0, который имеет особый смысл — это номер «по умолчанию» Когда появился интер- фейс NetBIOS, большинство операционных систем поддерживало един- ственный номер LANA и многие приложения были жестко запрограммиро- ваны на работу только с LANA 0. Для обратной совместимости вы можете вручную назначить LANA 0 конкретному протоколу
В Windows 95 и Windows 98 можно открыть диалоговое окно свойств се- тевого протокола с помощью значка Network в Control Panel. Выберите вклад- ку Configuration в диалоговом окне Network, затем из списка компонентов —
сетевой протокол и щелкните кнопку Properties Вкладка Advanced диалогово- го окна свойств для каждого протокола, поддерживающего NetBIOS, содержит флажок Set This Protocol To Be The Default Protocol Пометка флажка пере- страивает привязки протоколов так, чтобы протоколу по умолчанию был назначен LANA 0 Этот флажок можно пометить только для одного прото- кола Поскольку Windows 95 и Windows 98 поддерживают Plug-and-Play, не требуется явно задавать приоритет протоколов.
Windows NT 4 допускает большую гибкость в установке NetBIOS На вклад- ке Services диалогового окна Network выберите NetBIOS Interface из списка
Network Services и щелкните кнопку Properties. В диалоговом окне NetBIOS
Configuration вы можете явно назначить номера LANA всем сочетаниям се- тевого интерфейса с транспортным протоколом В этом диалоговом окне сетевой интерфейс определяется именем его драйвера. Впрочем, имена про- токолов не всегда говорят сами за себя. На рис 1 -1 показано диалоговое окно
NetBIOS Configuration. Оно свидетельствует: на компьютере установлено два сетевых адаптера и три транспортных протокола — TCP/IP (NetBT), NetBEUI
(Nbf) и IPX/SPX (NwlnkNb). Щелкнув кнопку Edit, вы можете вручную назна- чить номера LANA для отдельных протоколов.

Программирование в сетях Microsoft Windows

Книга знакомит читателя с многообразием сетевых функций ОС семей- ства Windows. Обсуждается разработка сетевых приложений на платформе Win32 с использованием интерфейсов программирования NetBIOS и Winsock, а также распространенных протоколов.

Скачать книгу «Программирование в сетях Microsoft Windows»

О книге

Бывает так, что, сосредоточиваясь на собственной жизни, забываешь, как много интересного может происходить в мире, насколько увлекательны истории других людей. В таком случае чтение будет отличным способом отдохнуть и увидеть что-то новое. И это даёт не только новые эмоции, но и понимание, как неоднозначно всё в нашей жизни.

Книга Джонс Энтони, Оланд Джим «Программирование в сетях Microsoft Windows» позволит приятно провести время за чтением, произведение относится к жанру программирование. Это книга, в которой можно найти для себя полезные мысли и сделать выводы, наблюдая за поступками героев. Каждый персонаж тщательно проработан, чтобы читатель мог понять особенности его личности и поступки.

Писатель говорит о таких темах, которые актуальны во все времена, потому что люди все равно остаются людьми и не забудут о том, что им важно. Это такое произведение, которое приносит не только удовольствие при чтении, но и развивает духовно. После прочтения книги понадобится ещё какое-то время, чтобы осмыслить рассказанное и сделать выводы для себя. Книгу «Программирование в сетях Microsoft Windows» можно скачать на нашем сайте в формате pdf или читать онлайн.

Популярные книги жанра «Программирование»

С этой книгой читают

Программирование на Objective-C 2.0 скачать

Программирование на Objective-C 2.0Кочан Стивен

Оцифровано и опубликовано сайтом http://objc.website.

Полный вводный курс по языку Objective-C для разработки приложений на Mac OS X и iPhone.Objective-C стал…

рейтинг книги

Программирование под Android скачать

Программирование под AndroidХарди Брайан

Эта книга научит вас всем тонкостям разработки приложений для мобильных устройств, работающих на популярной операционной системе Android. Основанное на учебном курсе…

рейтинг книги

Linux программирование в примерах скачать

Linux программирование в примерахАрнольд Роббинс

В книге рассмотрены вопросы, связанные с программированием под Linux: файловый ввод/вывод, метаданные файлов, основы управления памятью, процессы и сигналы, пользователи…

рейтинг книги

Язык программирования C++ скачать

Язык программирования C++Глушаков Сергей Владимирович, Коваль А. Б.

Данная книга представляет собой одно из самых ёмких и полных из существующих руководств по языку C++. В ней рассмотрено множество специальных вопросов, а также даны…

рейтинг книги

Основы программирования в Linux скачать

Основы программирования в LinuxМэтью Нейл, Стоунс Ричард

В четвертом издании популярного руководства даны основы программирования в операционной системе Linux. Рассмотрены: использование библиотек C/C++ и стан­дартных средств…

рейтинг книги

Язык программирования Си. Издание 3-е, исправленное скачать

Основы программирования на Java скачать

Основы программирования на JavaСухов Сергей Альбертович

Учебное пособие разработано в соответствии с программой курса «Информатика» и предназначено для студентов радиотехнического факультета, но может использоваться и…

рейтинг книги

Антихакинг в сети. Трюки скачать

Антихакинг в сети. ТрюкиЛокхарт Эндрю

Интернет является не только наиболее удобным средством совместной работы, но и потенциально опасной средой. При работе в Сети ваши компьютеры могут подвергнуться атаке…

рейтинг книги

  • 913
  • 0
  • 0

Скачать книгу в формате:

  • pdf
  • fb2
  • epub
  • rtf
  • mobi
  • txt

Аннотация

Книга знакомит читателя с многообразием сетевых функций ОС семей- ства Windows. Обсуждается разработка сетевых приложений на платформе Win32 с использованием интерфейсов программирования NetBIOS и Winsock, а также распространенных протоколов. На конкретных примерах рассмот- рены клиент-серверная модель; установка соединения и передача данных; регистрация и разрешение имен, в том числе применительно к Windows 2000 и Active Directory; широковещание в сети; ATM; QoS и удаленный доступ. В приложениях содержится справочник команд NetBIOS (с указанием вход- ных и выходных параметров), сведения о новых функциях IP Helper, а так- же справочник кодов ошибок Winsock. Адресована как профессиональным программистам, так и новичкам, для которых станет удобным справочником и исчерпывающим пособием по использованию сетевых функций Windows Состоит из 15 глав, трех приложений и предметного указателя; прилагаемый компакт-диск содержит примеры программ.

ЕЩЕ

Популярные книги

  • Город костей

    • Читаю
    • В архив
    • 48569
    • 8
    • 4

    Аннотация:

    Кассандра Клэр Город костей Орудия смерти — 1 Посвящается дедушке. Сравниться может время…

    Блок — 16 стр.

  • Уверенность в себе. Книга для работы над собой

    • Читаю
    • В архив
    • 94402
    • 33
    • 2

    Аннотация:

    В бизнесе (да и в жизни в целом) постоянно приходится покидать зону комфорта: выступать публично, ве…

    Фрагмент — 4 стр.

  • Скорочтение. Как запоминать больше, читая в 8 раз быстрее

    • Читаю
    • В архив
    • 86003
    • 24
    • 9

    Аннотация:

    Каждый день нашей жизни мы практически погребены под лавиной в буквальном смысле более чем из мил…

    Блок — 15 стр.

  • Обними меня крепче. 7 диалогов для любви на всю жизнь

    • Читаю
    • В архив
    • 58318
    • 18
    • 3

    Аннотация:

    Когда на смену любви и близости приходят неудовлетворенность, ссоры и охлаждение, страдают оба па…

    Фрагмент — 7 стр.

Здравствуй уважаемый читатель. Книга «Программирование в сетях Microsoft Windows» Джонс Энтони (EN) относится к разряду тех, которые стоит прочитать. Из-за талантливого и опытного изображения окружающих героев пейзажей, хочется быть среди них и оставаться с ними как можно дольше. Небезынтересно наблюдать как герои, обладающие не высокой моралью, пройдя через сложные испытания, преобразились духовно и кардинально сменили свои взгляды на жизнь. Долго приходится ломать голову над главной загадкой, но при помощи подсказок, получается самостоятельно ее разгадать. Обильное количество метафор, которые повсеместно использованы в тексте, сделали сюжет живым и сочным. Обращает на себя внимание то, насколько текст легко рифмуется с современностью и не имеет оттенков прошлого или будущего, ведь он актуален во все времена. В тексте находим много комизмов случающихся с персонажами, но эти насмешки веселые и безобидные, близки к умилению, а не злорадству. Кажется невероятным, но совершенно отчетливо и в высшей степени успешно передано словами неуловимое, волшебное, редчайшее и крайне доброе настроение. С первых строк обращают на себя внимание зрительные образы, они во многом отчетливы, красочны и графичны. Несмотря на изумительную и своеобразную композицию, развязка потрясающе проста и гениальна, с проблесками исключительной поэтической силы. Попытки найти ответ откуда в людях та или иная черта, отчего человек поступает так или иначе, частично затронуты, частично раскрыты. «Программирование в сетях Microsoft Windows» Джонс Энтони (EN) читать бесплатно онлайн можно неограниченное количество раз, здесь есть и философия, и история, и психология, и трагедия, и юмор…

Читать Программирование в сетях Microsoft Windows

Новинки

Их избалованная негодница (ЛП)

  • 187
  • 2
  • 0

Аннотация:

Нам нужен кто-то, кого мы можем назвать своей, кто станет нашей Негодницей. Делиться — значит з…

Полный текст — 17 стр.

Нам нужен кто-то, кого мы можем назвать своей, кто станет нашей Негодницей. Делиться — значит з…

Максимальный уровень

  • 9
  • 0
  • 0

Аннотация:

Генке Журавлеву семнадцать. Он терпеть не может поезда. Любит маму. Вечно «выясняет» отношения со …

Фрагмент — 35 стр.

Генке Журавлеву семнадцать. Он терпеть не может поезда. Любит маму. Вечно «выясняет» отношения со …

Цепной. Возращение

  • 14
  • 0
  • 0

Аннотация:

Зло вернулось! Теперь наши герои должны снова с ним сразится! Но победят ли они? Зло сильнее и хит…

Полный текст — 20 стр.

Зло вернулось! Теперь наши герои должны снова с ним сразится! Но победят ли они? Зло сильнее и хит…

Хранитель истории

  • 129
  • 0
  • 0

Аннотация:

Вера отправилась в прошлое, чтобы написать диплом о жизни девятнадцатого века. Но, когда пришло вр…

Полный текст — 43 стр.

Вера отправилась в прошлое, чтобы написать диплом о жизни девятнадцатого века. Но, когда пришло вр…

Кодекс Охотника. Книга VII

  • 344
  • 20
  • 0

Аннотация:

«Чти Кодекс и ты отдохнешь в следующей жизни!» — говорили они… «Будет весело!» — говорили они… А че…

В процессе — 28 стр.

«Чти Кодекс и ты отдохнешь в следующей жизни!» — говорили они… «Будет весело!» — говорили они… А че…

Герцог-кот или Не обижайте котика

  • 74
  • 0
  • 0

Аннотация:

Героиня забирает домой бездомного кота. Привязывается к нему и решает оставить навсегда. Правда, п…

Полный текст — 12 стр.

Героиня забирает домой бездомного кота. Привязывается к нему и решает оставить навсегда. Правда, п…

XVII. Грязь, кровь и вино!

  • 372
  • 11
  • 0

Аннотация:

11 июня 1630 года в одно время, но через разные ворота в Париж въехали два кавалера. Первый — блон…

Полный текст — 54 стр.

11 июня 1630 года в одно время, но через разные ворота в Париж въехали два кавалера. Первый — блон…

Содержание

  1. Программирование в сетях Microsoft Windows
  2. Скачать книгу (полная версия)
  3. О книге «Программирование в сетях Microsoft Windows»
  4. ProgBook — книги и учебники по программированию
  5. Примеры сетевого программирования
  6. В этом разделе
  7. Программирование в сетях Windows
  8. Программирование в сетях Windows

Программирование в сетях Microsoft Windows

Скачать книгу (полная версия)

О книге «Программирование в сетях Microsoft Windows»

Книга знакомит читателя с многообразием сетевых функций ОС семей- ства Windows. Обсуждается разработка сетевых приложений на платформе Win32 с использованием интерфейсов программирования NetBIOS и Winsock, а также распространенных протоколов. На конкретных примерах рассмот- рены клиент-серверная модель; установка соединения и передача данных; регистрация и разрешение имен, в том числе применительно к Windows 2000 и Active Directory; широковещание в сети; ATM; QoS и удаленный доступ. В приложениях содержится справочник команд NetBIOS (с указанием вход- ных и выходных параметров), сведения о новых функциях IP Helper, а так- же справочник кодов ошибок Winsock. Адресована как профессиональным программистам, так и новичкам, для которых станет удобным справочником и исчерпывающим пособием по использованию сетевых функций Windows Состоит из 15 глав, трех приложений и предметного указателя; прилагаемый компакт-диск содержит примеры программ.

Произведение было опубликовано в 2002 году издательством Русская Редакция. На нашем сайте можно скачать бесплатно книгу «Программирование в сетях Microsoft Windows» в формате pdf или читать онлайн. Здесь так же можно перед прочтением обратиться к отзывам читателей, уже знакомых с книгой, и узнать их мнение. В интернет-магазине нашего партнера вы можете купить и прочитать книгу в бумажном варианте.

Источник

ProgBook — книги и учебники по программированию

dzhons programmirovanie v setyah microsoft windowsНавазние: Программирование в сетях Microsoft Windows
Автор: Э. Джонс, Д. Оланд
Издательство: Питер, Русская Редакция
Год: 2002
ISBN: 5-318-00725-2
PDF: 72 Мб

Как следует из названия, книга «Программирование в сетях Microsoft Windows» посвящена операционным системам семейства Windows и их сетевым функциям. Рассмотрены особенности работы с программными интерфейсами NetBIOS и WinLock и наиболее известными протоколами на платформе Win32 применительно к сетевому программированию и разработке приложений. Материал снабжен практическими примерами, в которых детально обсуждается множество вопросов, возникающих в ходе настройки и реализации различных видов сетевого взаимодействия — например, в рамках модели клиент-сервер. Кроме того, объясняется, как устанавливать соединение, передавать данные, регистрировать и разрешать имена, работать с настройками удаленного доступа, сетевого широковещания и т.д. Особое внимание уделяется Windows 2000, Active Directory, QoS и ATM. Книга состоит из пятнадцати глав, трех приложений и предметного указателя. В числе приложений – справочник команд NetBIOS с входными и выходными параметрами, информация о кодах ошибок WinSock, описание новых функций IP Helper, а также компакт-диск с примерами упомянутых в книге программ. Издание предназначено для программистов, а также для тех, кто делает свои первые шаги в сфере сетевого программирования.

8,667 просмотров всего, 1 просмотров сегодня

Источник

Примеры сетевого программирования

В этом разделе приводятся описание и ссылки для скачивания примеров сетевого программирования, в которых используются классы из System.Net, System.Net.Cache, System.Net.Configuration, System.Net.Mail, System.Net.Mime, System.Net.NetworkInformation, System.Net.Security, System.Net.Sockets и связанных с ними пространств имен.

В этом разделе

Пример технологии индикатора хода скачивания
Демонстрирует, как отобразить состояние процесса скачивания файла.

Пример клиентской технологии FTP
Демонстрирует, как загружать файлы на FTP-сервер и скачивать с него.

Пример технологии HttpListener
Демонстрирует, как обрабатывать HTTP-запросы в приложении.

Образец ведущего приложения ASPX HttpListener Демонстрирует, как использовать функции класса System.Net.HttpListener для создания HTTP-сервера, который перенаправляет вызовы в размещенное приложение ASP.NET.

Пример технологии системы рассылки почты
Демонстрирует, как отправлять сообщения электронной почты из клиентского приложения.

Пример технологии средства NetStat
Демонстрирует использование средства для работы со сведениями о сети NCLNetStat.

Пример сетевых информационных технологий
Демонстрирует, как отслеживать и отображать сведения о сети.

Пример клиентской технологии проверки связи
Демонстрирует клиентское приложение, которое может проверять наличие связи с удаленным узлом.

Пример технологии веб-клиента
Демонстрирует, как выполнять общие операции, например загружать и скачивать файлы или данные.

Пример безопасных потоков
Демонстрирует способ использования безопасного потока для соединения между клиентом и сервером.

Пример сокетов IPv6
Демонстрирует, как использовать сокеты при включенном протоколе IPv6.

Пример технологии FTP Explorer
Демонстрирует, как вывести список содержимого FTP-сервера.

Источник

Программирование в сетях Windows

Здесь параметр 5 — интересующий нас сокет, а параметр hEventObject — объект «событие», полученный из вызова WSACreateEvent, который нужно связать с сокетом. Последний параметр INetworkEvents — битовая маска получаемая комбинацией масок типов сетевых событий, которые надо отслеживать. Подробно эти типы обсуждались при описании предыдущей модели — WSAAsyncSelect.

У события, используемого в модели WSAEventSelect, два рабочих состояния

— свободное (signaled) и занятое (nonsignaled), а также два оперативных режима — ручного (manual) и автоматического сброса (auto reset). Первоначально событие создается в занятом состоянии и режиме ручного сброса. Когда на сокете происходит сетевое событие, связанный с эти событием объект становится занятым. Так как объект события создается в режиме ручного сброса, приложение ответственно за его возврат в занятое состояние после обработки ввода-вывода. Это можно сделать, вызвав функцию WSAResetEvenP.

BOOL WSAResetEvent(WSAEVENT hEvent);

Она принимает описатель события в качестве единственного параметра и возвращает TRUE или FALSE, в зависимости от успешности вызова. Закончив работу с объектом события, приложение должно вызвать функцию WSACloseEvent для освобождения системных ресурсов, используемых объектом:

BOOL WSACloseEvent(WSAEVENT hEvent);

Эта функция также принимает описатель события в качестве единственного параметра и возвращает TRUE или FALSE, в зависимости от успешности вызова.

Сопоставив сокет описателю события, приложение может начать обработку ввода-вывода, ожидая изменения состояния описателя. Функция WSAWaitForMultipleEvents будет ожидать сетевое событие и вернет управление, когда один из заданных описателей объектов событий перейдет в свободное состояние или когда истечет заданный таймаут.

DWORD WSAWaitForMultipleEvents( DWORD cEvents,

const WSAEVENT FAR * lphEvents, BOOL fWaitAll,

DWORD dwTimeout, BOOL fAlertable

Здесь параметры cEvents и lphEvents определяют массив объектов типа WSAEVENT, в котором cEvents — количество элементов, a lphEvents — указатель на массив. Функция WSAWaitForMultipleEvents поддерживает не более WSA_MAXIMUM_WAIT_EVENTS (64) объектовсобытий.Поэтомуданнаямодель ввода-вывода способна одновременно обслуживать максимум 64 сокета для каждого потока, вызывающего WSAWaitForMultipleEvents.

ГЛАВА 8 Ввод-вывод в Wmsock

Если необходимо обслуживать больше сокетов, создайте дополнительные бочие для дополнительных объектов событий. Параметр JWaitAll оп р е д е л яет, как функция WSAWaitForMultipleEvents реагирует на события. Если о н равен TRUE, функция завершается после освобождения всех событий, перечисленных в массиве iphEvents. Если же FALSE — функция завершится, как только будет свободен любой объект события. В последнем случае воз-

вращаемое значение показывает, какой именно объект был свободен.

Как правило, приложения присваивают этому параметру FALSE и обрабатывают одно событие сокета за раз. Параметр dwTimeout указывает, сколько миллисекунд функция должна ожидать сетевого события. Когда истекает таймаут, функция завершается, даже если не выполнены условия, определенные параметром JWaitAll. Если таймаут равен 0, функция проверяет состояние заданных объектов и выходит немедленно, что позволяет приложению эффективно проверить все события. Задавать нулевой таймаут не рекомендуется из соображений быстродействия. Если нет событий для обработки, функция WSAWaitForMultipleEvents возвращает значение WSA_WAIT_TIMEOUT.

Если параметр divsTimeout равен WSAJNF1NITE, функция закончит работу только после освобождения какого-либо события. Последним параметром — fAlertable, можно пренебречь в модели WSAEventSelect, присвоив ему FALSE: он применяется в процедурах завершения процессов в модели перекрытого ввода-вывода, которая описана далее.

Функция WSAWaitForMultipleEvents, получив уведомление о сетевом событии, возвращает значение, определяющее его исходный объект. Найдя событие в массиве событий и связанный с ним сокет, приложение может определить, событие какого типа произошло на конкретном сокете. Для определения индекса события в массиве IphEvents нужно вычесть из возвращаемого значения константу WSA_WAIT_EVENTJ):

Выяснив сокет, на котором произошло событие, определяют доступные сетевые события, вызвав функцию WSAEnumNetworkEvents-.

int WSAEnumNetworkEvents( SOCKET s,

WSAEVENT hEventObject, LPWSANETWORKEVENTS lpNetworkEvents

Параметр s — сокет, на котором произошло сетевое событие. Необязательный параметр hEventObject — описатель связанного события, которое нужно сбросить. Так как событие в этот момент находится в свободном состоянии, можно передать его описатель для перевода в занятое состояние, ли Н е желательно использовать параметр hEventObject, используйте функ-

интерфейс прикладного программирования Wmsock

> WSANETWORKEVENTS, FAR * LPWSANETWORKEVENTS;

Последний параметр — ipNetworkEvents, принимает указатель на структуру WSANETWORKEVENTS, в которой передается тип произошедшего события и код ошибки. Параметр INetworkEvents определяет тип произошедшего события.

ПРИМЕЧАНИЕ При освобождении события иногда генерируется несколько типов сетевых событий. Например, интенсивно используемый сервер может одновременно получить сообщения FDJREAD и FDJWRITE.

Параметр iErrorCode — массив кодов ошибок, связанных с событиями из массива INetworkEvents. Для каждого типа сетевого события существует индекс события, обозначаемый тем же именем с суффиксом BIT. Например, для типа события FDJREAD идентификатор индекса в массиве iErrorCode обозначается FDJREADJ3IT. Вот анализ кода ошибки для события FD READ:

II Обработка уведомления FD_READ

if (NetworkEvents.INetworkEvents & FD_READ)

printf(«FD_READ failed with error Xdn», NetworkEvents.iErrorCode[FD_READ_BIT]);

Послеобработкисобытий,описанныхвструктуре WSANETWORKEVENTS приложение может продолжить ожидание сетевых событий на доступных сокетах. В листинге 8-6 показано применение модели WSAEventSelect для программирования сервера и управления событиями. Выделены обязательные этапы, лежащие в основе программирования сервера, способного обслуживать несколько сокетов одновременно.

WSAEVENT Event[WSA_MAXIMUM_WAIT_EVENTS]; SOCKET Accept, Listen;

DWORD EventTotal = 0; DWORD Index;

// Настройка ТСР-сокета для прослушивания порта 5150 Listen = socket (PF_INET, SOCK_STREAM, 0);

Источник

Программирование в сетях Windows

htmlconvd

Приложение А Перечень команд NetBIOS

Команда получает сведения о состоянии сеанса. При вызове этой команды ncb_buffer ссылается на область памяти, которая будет заполнена структурой SESSION’_ HEADER, далее следуют одна или более структур SESSION_BUFFER. Если первый байт ncbjname — звездочка (‘), команда выясняет состояние для всех сеансов, связанных со всеми именами в таблице локальных имен. Если предоставленный буфер слишком мал, выдается ошибка NRCJNCOMP (0x06). Если длина буфера меньше 4 байт — ошибка NRCJBUFLEN (0x01).

Команда отменяет привязку к адаптеру. Предусмотрена для совместимости с ранними версиями NetBIOS и на платформах Win32 не оказывает эффекта.

П Р И Л О Ж Е Н И Е

В этом приложении мы опишем некоторые новые API-функции для получения информации и настройки параметров протокола IP. Эти функции позволяют программно использовать возможности следующих стандартных IP-

• Ipconfig.exe (или Winipcfg.exe в Microsoft Windows 95) — выводит информацию о конфигурации IP и позволяет освобождать и обновлять IPадреса, выделенные DHCP;

• Netstat.exe — выводит таблицу TCP-соединений, таблицу прослушиваемых портов UDP и статистику протокола IP;

• Route.exe — выводит и редактирует таблицы маршрутизации;

Ш Агр.ехе — выводит и редактирует используемые протоколом разрешения адресов (address resolution protocol, ARP) таблицы трансляции IP-ад- ресов в физические.

Функции, описанные в этом приложении, доступны в основном в Windows 98 и Windows 2000, некоторые — и в Windows NT 4 с Service Pack 4 (или более поздним), но ни одна не доступна в Windows 95. При обсуждении каждой функции будет указываться соответствующая платформа. Прототипы для всех функций, описанных в приложении, определены в файле Iphlpapi.h. При компоновке приложения необходимо подключать библиотеку Iphlpapi.lib.

Утилита Ipconfig поставляет два блока информации: о конфигурации IP и о параметрах IP для каждого сетевого адаптера, установленного на данном компьютере. Чтобы получить информацию о конфигурации IP, воспользуйтесь функцией GetNetworkParams:

DWORD GetNetworkParams( PFIXED_INFO pFixedlnfo, PULONG pOutBufLen

Параметр pFixedlnfo — указатель на буфер, куда будет помещена структура FIXED JNFO с информацией о конфигурации IP. Параметр pOutBufLen — указатель на переменную, задающую размер буфера, который передается через первый параметр. Если этого размера окажется не достаточно, функция

550 Приложение В Вспомогательные функции IP

GetNetworkParams вернет значение ERROR_BUFFER OVERFLOW и определит значение параметра pOutBuJLen, равным необходимому размеру буфера.

Источник

Понравилась статья? Поделить с друзьями:
  • Программа чтобы отключить ненужные службы в windows 10
  • Программирование в командной строке windows 10
  • Программа чтобы отключить защитник windows 10
  • Программный raid 1 windows server 2019
  • Программа чтобы закрепить окно поверх всех окон windows