![]() |
Модераторы: feodorv |
![]() ![]() ![]() |
|
Alca |
|
|||
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 3993 Регистрация: 14.6.2006 Репутация: 1 Всего: 50 |
Именованные каналы? Что это такое?
![]() Чем отличается от TCP/IP? Добавлено через 3 минуты и 33 секунды Named Pipes – именованные каналы Протокол named pipes (именованные каналы) был разработан фирмой Microsoft несколько лет тому назад. В named pipes поддерживаются два режима: локальный и удаленный (дистанционный). Протокол local named pipes применяется в случаях, когда и клиент, и сервер находятся на одном и том же компьютере, а remote named pipes применяется, когда клиент и сервер находятся на разных компьютерах. Если соединение установлено через named pipes, сетевые утилиты SQL Server распознают, как оно осуществлено – с помощью локальных именованных каналов (local named pipes) или же с помощью удаленных (дистанционных) именованных каналов (remote named pipes). Именованные каналы – это клиентский протокол, применяемый по умолчанию, и он является протоколом, применяемым по умолчанию в операционных системах Windows NT 4 Server и Windows 2000. В операционных системах Microsoft Windows 95 и Microsoft Windows 98 именованные каналы применяться не могут. В этих системах на стороне сервера применяются протоколы TCP/IP, multiprotocol и shared memory. Хотя протокол "именованные каналы" работает эффективно, он обычно не используется в больших сетях, потому что он не поддерживает маршрутизацию и шлюзы. Также не рекомендуется его применение на медленных сетях, т.к. по сравнению с другими протоколами, например, TCP/IP, для него требуется передача значительно большего объема информации между сервером и клиентом. Это сообщение отредактировал(а) Alca - 3.12.2007, 15:55 |
|||
|
||||
_EXN_ |
|
|||
Новичок Профиль Группа: Участник Сообщений: 37 Регистрация: 29.11.2007 Репутация: нет Всего: нет |
Разработаный микроцефалами ??
![]() |
|||
|
||||
Alca |
|
|||
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 3993 Регистрация: 14.6.2006 Репутация: 1 Всего: 50 |
Наверное (SQL Server)
Это сообщение отредактировал(а) Alca - 3.12.2007, 19:04 |
|||
|
||||
Олег2005 |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 421 Регистрация: 26.5.2005 Где: Рига Латвия Репутация: 6 Всего: 11 |
Поиск ни по гуглям, ни по MSDN ничего не дает по данному предмету ![]() Просто потому что remote named pipes по жизни не существуют ![]() И соответственно для сетевого взаимодействия между двумя удаленными компами применяться не могут - по жизни это средство IPC- Inter Process Communication - те взаимодействие между процессами - внутри одной и той же машины |
|||
|
||||
Alca |
|
|||
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 3993 Регистрация: 14.6.2006 Репутация: 1 Всего: 50 |
Именованные каналы (PIPE)
Именованные каналы PIPE используются для гарантированной передачи данных по сети. Создать именованный канал можно только на NT, в операционной среде Windows 95 можно использовать именованный канал только со стороны клиента. Поэтому для проверки данных примеров вам нужен NT. Можно сказать, что это выделенная линия для обмена данными между процессами. В NT можно посмотреть подобные выделенные линии. То есть их количество. Зайдите в Control Panel, выберите Server и щелкните на нем. Появится окно как ниже: Пункт Open Named Pipes может быть и не такой. Дело в том, что данным механизмом пользуются многие серьезные приложения, например, MS SQL Server. Мы с Вами создадим две простые консольные программы, которые будут эмулировать клиента и сервера. Итак сервер: // CreateNamedPipe.cpp : Defines the entry point for the console application. //
Как видите для создание канала надо вызвать функцию CreateNamedPipe, а для клиента создать файл указав сервер Server. Вы должны указывать свой сервер. То есть его имя в домене. А имя \\pipe\\ipctest должно совпадать и в клиенте и в сервере. Это имя канала. Вот после запуска прогаммы видно, что количество именованных каналов увеличилось на единицу. |
|||
|
||||
Олег2005 |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 421 Регистрация: 26.5.2005 Где: Рига Латвия Репутация: 6 Всего: 11 |
Если первые шаги написали глупость - то это не значит что это так:
http://www.firststeps.ru/mfc/winapi/13_2.gif (Почему то картинки не отображаются ![]() Покажите мне где тут сеть? Два консольных приложения на одной машине - и все ![]() Никогда каналы - именованные или неименованные - вообще никакие - не смогут передать ни байта другому компу в сети - без использования сетевых протоколов это и теоретически, и тем более практически НЕВОЗМОЖНО ![]() Это сообщение отредактировал(а) Олег2005 - 5.12.2007, 15:23 |
|||
|
||||
Alca |
|
|||
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 3993 Регистрация: 14.6.2006 Репутация: 1 Всего: 50 |
Ув. Олег2005! MS SQL Server использует для соединения с клиентами сокеты или пайпы! Каналы (pipes) Каналы - это очень мощная технология обмена данными. Наверное, именно поэтому в полной мере они поддерживаются только в Windows NT/2000. В общем случае канал можно представить в виде трубы, соединяющей два процесса. Что попадает в трубу на одном конце, мгновенно появляется на другом. Чаще всего каналы используются для передачи непрерывного потока данных. Каналы делятся на анонимные (anonymous pipes) и именованные (named pipes). Анонимные каналы используются достаточно редко, они просто передают поток вывода одного процесса на поток ввода другого.Именованные каналы передают произвольные данные и могут работать через сеть. (Именованные каналы поддерживаются только в WinNT/2000.) Это сообщение отредактировал(а) Alca - 5.12.2007, 18:18 |
|||
|
||||
Олег2005 |
|
||||
![]() Опытный ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 421 Регистрация: 26.5.2005 Где: Рига Латвия Репутация: 6 Всего: 11 |
Ув. Alca,
Видите ли, мы с вами употребляем один и тот же термин, но совершенно в разных его представлениях Итак, есть средство IPC - известное как именованный канал И есть "протокол" Named Pipe - который представляет собой очередной ляп со стороны Мелкомягких, называющих свои собственные решения общепринятыми названиями И потому протокол Named Pipe, использующийся для работы в локальных сетях, есть на самом деле сетевая библиотека, работающая только в локальной Windows cети, и скорее всего базируется на тщательно скрываемом интерфейсе NetBios Читаем:
И говорить не об протоколе, а об IPC ![]() Так что в принципе вопрос можно считать закрытым - мы говорили о разных ипостасях термина named pipe ![]() Это сообщение отредактировал(а) Олег2005 - 5.12.2007, 19:15 |
||||
|
|||||
Alca |
|
|||
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 3993 Регистрация: 14.6.2006 Репутация: 1 Всего: 50 |
Спасибо.
|
|||
|
||||
![]() ![]() ![]() |
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | C/C++: Сети | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |