Розетками: Разветвители и переходники с 4 розетками купить по низкой цене
Зачем нужны розетки со шторками и крышкой
Зачем нужны розетки со шторками и крышкой
От чего защищают розетки со шторками
В ассортимент всех текущих серий электроустановочных изделий входят несколько типов розеток, включая розетки с защитными шторками. Розетки данной разновидности также иногда называют розетками с защитой от детей. Что же это такое, кого и от чего они в состоянии защитить?Передняя панель электророзетки с заземлением имеет 2 отверстия, которые равноудалённо располагаются слева и справа от центра розетки. В данные отверстия, когда подключается электрический прибор, входят штифты вилки. Если посмотреть внутрь данных отверстий, то у розетки, которая не имеет защитных шторок, можно увидеть контакты из латуни, обхватывающие штыри вилки. У розетки с предохранительными шторками латунные контакты нельзя увидеть, потому что отверстия закрыты заглушками из пластика. Это и есть защитные шторки розетки. Две шторки могут быть отодвинуты исключительно в одно и то же время.
Конструкция розеток со шторками
У большинства изготовителей шторки – это движущаяся деталь из пластика, которая закреплена в центре и имеет по бокам 2 скошенные в различные стороны площадки. Когда округлые штифты вилки одновременно надавливают на шторки, они проворачиваются по часовой стрелке или против неё, таким образом, открывается доступ к электроконтактам розетки.
Использование розеток с защитными шторками
Розетки с защитными шторками ставят в квартирах и иных жилых помещениях, где живут семьи с небольшими детьми, в яслях, детсадах, школах и медучреждениях. Помимо розеток с защитными шторками также используют специализированные детские заглушки из пластика, которые блокируют отверстия розеток в детской комнате. Плюсом эксплуатации розеток с защитными шторками в сравнении с заглушками от детей является то, что данные шторки блокируют отверстия розетки на автомате. Можно просто забыть об этом. Заглушку нужно вставлять каждый раз после очередного использования розетки самостоятельно. Большая часть конструкций детских заглушек допускает их использование в розетках с защитными шторками, в конечном итоге безопасность не бывает лишней.
Розетки с крышкой
Такие розетки имеют массу плюсов:• Удобство ухода. Крышка предохраняет от загрязнения функциональной части розетки.
• Безопасность. Крышка прикрывает розетку от случайных брызг и пыли.
• Красивый внешний вид. Розетки с крышкой, которые установлены на видном месте, смотрятся значительно лучше, чем обыкновенные розетки.
Где устанавливают розетки с крышкой
В гостиной, спальне или кабинете. Розетки с крышками не испортят внешний облик помещения.• В детской комнате. Такая розетка не будет вызывать интерес у ребёнка.
• На кухне, в ванной комнате. Большое количество бытовой техники, которая периодически используется, требует монтирования дополнительных розеток. Крышка защитит эти розетки от загрязнения и случайного проникновения влаги.
Купить розетку со шторками Schneider Electric
Розетки Schneider Electric со шторками – это изделия, которые изготовлены лучшими инженерами и дизайнерами компании. Серии электроустановочных изделий объединили в себе продолжительный инженерный опыт и прогрессивные дизайнерские идеи.
все поезда на МЦД оборудуют розетками для зарядки / Новости города / Сайт Москвы
Более 12 тысяч гаджетов можно будет заряжать одновременно в 39 поездах «Иволга», которые в скором времени начнут курсировать по Московским центральным диаметрам (МЦД).
«В 24 шестивагонных составах “Иволга 1.0”, которые будут перевозить пассажиров по МЦД, будет около пяти тысяч разъемов для зарядки телефонов, планшетов и прочих гаджетов, а в 15 семивагонных составах “Иволга 2.0” в каждом кресле будут установлены USB-розетки — это дополнительно еще более семи тысяч разъемов.Таким образом, в 39 поездах “Иволга” двух модификаций можно будет зарядить более 12 тысяч гаджетов одновременно», — рассказал начальник дирекции МЦД Департамента транспорта Москвы Андрей Акимов.
Поезда «Иволга» почти полностью состоят из отечественных комплектующих, составы поставляет Тверской вагоностроительный завод. Сейчас для обслуживания МЦД-1 Одинцово — Лобня и МЦД-2 Нахабино — Подольск поступило уже 24 шестивагонных состава «Иволга 1.0». В дальнейшем будут переданы еще 15 семивагонных поездов «Иволга 2.0». У них доработан внешний и внутренний дизайн, в том числе создана новая маска поезда. Она соответствует стилистике московского транспорта и схожа с поездами метро и трамваями «Витязь-М».
Пересадка с метро на Московские центральные диаметры и обратно будет бесплатнойБезопасная поездка: в поездах МЦД установят более 2,5 тысячи камер видеонаблюдения
На первом этапе «Иволгами» будет осуществляться около 50 процентов перевозок по МЦД. Помимо них, по маршрутам будут ходить обычные электрички. Интервал движения между поездами в часы пик составит пять-шесть минут.
Максимальная вместимость семивагонного поезда составляет более двух тысяч человек.
В «Иволгах» будет поддерживаться комфортный микроклимат, работать система обеззараживания воздуха и бесплатный Wi-Fi. Во всех головных вагонах установлены крепления для провоза велосипедов, а над сиденьями расположены полки для малогабаритной ручной клади. Туалетные модули оборудовали сенсорными смесителями для воды и дозаторами мыла, электросушилками для рук и пеленальными столиками.
Какие розетки нужны для варочной панели и духового шкафа
Современная кухня оснащена электротехникой покруче, чем звездолёты в старых фильмах. И требует ответственного подхода к выбору и монтажу проводки и электроустановочных изделий.
Начнём с того, коль вы решили обрадовать хозяйку кухни и установить массу современной бытовой техники, как мелкой, так и крупной — сначала займитесь новой электропроводкой. Для начала, разделите контур освещения и питания, а потом посчитайте количество техники и сколько будут «кушать» кухонные агрегаты. Скорее всего, питающих контуров понадобится несколько. Чтобы не вешать для домашних грозные правила в стиле «стиралку и посудомойку одновременно не включать!».
Запомните!!! Вся мощная кухонная техника должна иметь отдельную линию питания от электрощита.
Но если стиральную машину можно переселить в ванную, а посудомоечные — есть не у всех, то плита и духовка никуда с кухни не денутся. О них и поговорим, а точнее о розетках для варочной панели и духового шкафа.
Почему розетку для варочной панели и духового шкафа нужно вешать на отдельную линию электропитания
Электрические варочные поверхности и духовые шкафы потребляют большую мощность (от 2,5 до 10 кВт). Потому, по современным правилам электробезопасности, розетки для них требуют отдельной выделенной линии электропитания от щитка. Причём, если варочная панель и духовой шкаф предусматривают независимую установку, то для них потребуются две розетки, с отдельными точками подключения на распределительном щитке.
Какую розетку выбрать для варочной панели и/или духового шкафа
Все зависит от характеристик техники. Варочные панели и духовые шкафы бывают как однофазными, так и трехфазными и могут иметь мощность от 2,5 до 10 кВт.
На заметку! По всем варочным панелям надо сделать отдельную оговорку. Вилок у них нет в принципе, а некоторые модели могут идти и без кабеля в комплекте (есть только клеммные колодки). Подумайте, так ли вам нужна розетка для варочной панели? Возможно, целесообразней будет питающий кабель от щитка подключить напрямую на клеммники панели, либо сделать соединение кабелей через мини-щиток, если поверхность идет в комплекте с кабелем. В этом случае вилка-розетка для варки не понадобятся. Но про автомат и УЗО забывать не стоит, ставим их на линию электроплиты. Как их подобрать — описано ниже.
Однофазное подключение
(встречается чаще всего)
«Варка» и/или духовой шкаф мощностью до 3.5 кВт подключаются в стандартную розетку на 16 А/220 В. У духового шкафа в большинстве случаев установлен обычный провод и 16-ти амперная вилка (при независимом подключении), поэтому потребуется только розетка. У варочной панели вилки нет, поэтому подбирать придется и вилку, и розетку.
Для более мощных однофазных моделей электроплит и шкафов от 3.6 до 7 кВт понадобится силовая розетка с характеристиками 32 А/220 В и при необходимости — специальная вилка на 32А.
Трёхфазное подключение
Трехфазная варочная поверхность и/или духовой шкаф требуют питания с вольтажом в 380 В и трёхфазную розетку на 20 Ампер, если мощность не выше 3.5 кВт или в 32 Ампера для мощной варки от 3.6 до 7 кВт. Если в комплектации духового шкафа и/или варочной панели вилка не прилагается, то понадобится также 3-фазная вилка с соответствующим ампертражом.
Запомните!!! Вилки и розетки для подобной техники обязательно имеют заземляющий контакт. Поэтому штырьков и отверстий у них больше. У однофазных — три (2 питающих и земля), у трёхфазных — пять (3 питающих, земля и нейтраль).Подключение без заземления опасно для жизни!
Таким образом, нельзя заменить специальные розетки под варочную панель и духовой шкаф на модели для осветительных приборов и мелкой бытовой техники.
Куда устанавливать розетки под варочную панель и духовой шкаф
Тут особых требований нет. Обычно это цокольная зона кухни и высота установки 10 см (верхний край розетки). Если духовка смонтирована выше уровня стола, то розетку желательно также сделать поблизости.
Общее правило! Не ставьте розетки и вспомогательное оборудование непосредственно за техникой. Иначе можете получить проблему — духовка или посудомойка упрутся и не встанут на своё место. Это же касается и остальных коммуникаций. Их нужно выводить либо рядом с техникой, либо ниже ее уровня, если установка техники планируется над полом.
Скрытый монтаж или наружный
Это на ваш выбор, как удобней. Единственное правило — в деревянном доме выполняется наружная электропроводка, и все приборы устанавливаются такие же. Это требование электробезопасности, поскольку дерево — материал горючий и прятать в него провода и прочие источники возгорания категорически запрещено. Это, кстати, касается и кухонной мебели. Если нужно установить розетку для духовки, а рядом запланирован шкаф, то вырезаем в задней стенке отверстие и монтируем всё в стену или на стену, но не на шкаф!
В случае бетонных или кирпичных стен можно использовать оба варианта монтажа розетки для электроплиты. С точки зрения безопасности скрытая установка предпочтительней. Но если период ремонта давно закончен, сгодится и наружный монтаж с помощью кабель-каналов. При установке исключите контакт провода с горючими материалами, такими как дерево, неогнестойкие пластики.
Запомните!!! Нельзя прокладывать для заземления отдельный провод, заземляя розетку на стояки или трубы. Нельзя подключать на контур питания плиты или духовки другие кухонные приборы. Это опасно для жизни.
Купить розетку для варочной панели, поставить и вот оно счастье!
Счастье несомненно будет, но одной розетки для него маловато. Придётся составить целый список комплектующих.
Однофазное подключение
1. Кабель. Для однофазной сети используем кабель 3х4 или 3х6, марок ВВГнг (плоский, круглый) или NYM. Сечение подбирается по мощности техники.
2. Коробка или подрозетник. Для настенного монтажа розетки для электроплиты пригодится накладная коробка. Её характеристика должна совпадать с розеточной. То есть, если ставим на 20 А, то коробка и розетка имеют такую маркировку. Аналогично и с 32-амперными — всё берём одинаковое.
Если монтаж внутренний, например, в городской квартире или кирпичном коттедже, то нужен специальный подрозетник.
Конечно, комплектующие и розетки для электроплит выпускает не только компания Legrand. Можно взять дешёвые аналоги, но мы напоминаем, на безопасности экономить — затея плохая.
3. Автоматы и УЗО. Как уже говорилось, на каждую мощную единицу кухонной техники нужна своя линия подключения к щитку электропитания. А это означает, что потребуется автомат и УЗО для безопасного подсоединения кабеля и защиты от поражения током, если вдруг где пробьёт на корпус.
Автоматы также подбираются в соответствии с характеристиками плит и розеток. Для мало и среднемощных однофазных шкафов и панелей (мощностью до 4кВт) ставят однополюсные автоматы на 20 А, для мощных (мощностью свыше 4кВт) — на 32 А. В пару к ним подбирается и УЗО, на ступень выше номинала автомата. То есть для автоматического выключателя на 32 Ампера нужно УЗО 40А/30мА. Для автомата на 20А – УЗО 25А/30мА.
В итоге схема подключения кухонной техники к щитку питания будет выглядеть примерно так.
Подключение групп электропроводки кухни к квартирному электрощитку.
Запомните!!! Выбирать комплектующие и подключать варочную поверхность или духовку должен специалист! Неправильный выбор опасен, неверные компоненты, установка без защиты и прочие ошибки могут привести к перегреву проводки и пожару.
Трёхфазное подключение
Отдельное внимание хотим уделить трёхфазным варочным панелям. Прежде чем покупать такую технику в городскую квартиру, выясните, можно ли её подключить. Стандартная проводка в старых домах идёт на 220 Вольт. А вот в новостройках и частных коттеджах сразу монтируют трёхфазную сеть на 380 В. Для неё понадобятся свои комплектующие.
1.Кабель. Трёхфазный силовой кабель ВВГнг(А) 5х4 для мощных моделей от 4 кВт или 5х2.5, если варочная панель имеет небольшую мощность не выше 4 кВт.
2.Автоматы и УЗО. Потребуется трёхполюсный автомат на 32 или 20 Ампер в зависимости от мощности варочной поверхности или духового шкафа и четырехполюсные УЗО (для трёхфазной сети). Выбираются так же, с превышением на шаг от номинала автомата. Если вы выбрали трехполюсный автомат на 20А, то нужно взять УЗО 25А/30мА. Для трехполюсного автомата на 32А потребуется четырехполюсное УЗО 40А/30мА.
3.Подрозетник или коробка. В зависимости от того, каким способом придётся устанавливать точку подключения: наружным или внутренним.
Ассортимент розеток, как для однофазных, так и для трехфазных варочных панелей и духовых шкафов можно купить в нашем интернет-магазине.
Как отдельно, так и в парном варианте. Такой набор стоит дешевле, чем если покупать всё по отдельности.
Подведем итоги
Что делать, если вы страшно далеки от электрики, как декабристы от народа? И в амперах-ваттах разбираетесь как бабушка в мобильнике? Приходите к нам!
Проконсультируем, разберёмся в ситуации, подберём нужные приборы и провод-кабель. Хоть в домашних масштабах, хоть в промышленных, если надо. С электрикой работаем давно, знаем тонкости и секреты, которыми щедро поделимся с вами.
Звоните, спрашивайте!
Телефон (495) 540 49 82 или задайте вопрос электрику.
Ваши дежурные электрики 220pro.ru.
Управляемая розетка Serial iBootBar, с управлением через реле и командную строку
Удобное управление и мониторинг
Serial iBootBar – это самый простой способ удаленного управления питанием и мониторинга устройств. Несколько пользователей могут управлять до 8 розеток через RS-232 или через реле. Легкий перезапуск устройств, включение и выключение питания позволяют экономить на электричестве и обеспечивают новый уровень безопасности.
Если у вас уже имеется системы SCADA, RDU или GPIO, с Serial iBootBar вы сможете добавить к их функциям и управление питанием.
Умное управление питанием
Управление через RS-232 позволяет настроить все параметры и функции через простой интерфейс командной строки.
Возможность объединения розеток в группы или каскадное подключение позволит управлять всеми розетками сразу, а установка таймер задержки предотвратит одновременную подачу питания на все розетки и тем самым избавит от перегрузки.
С функцией определения силы тока Serial iBootBar всегда оповестит вас о важных изменениях. Даже если сеть будет недоступна, вы сможете проверить состояние ваших систем и при необходимости перезапустить их, где бы вы ни находились.
Особенности
8 независимых розеток |
Возможность управлять каждой розеткой отдельно с назначением уникального имени. |
Управление через RS-232 |
RS-232 позволяет настроить все параметры и функции управления через простой интерфейс командной строки. |
Управление через реле |
Каждая розетка соответствует дискретному входу, который может быть соединен с переключателем или реле. |
Управление правами пользователей |
Возможность назначения прав доступа различных пользователей к розеткам и настройкам. Поддерживается до 16 пользователей, которым могут быть назначены права администратора или пользователя, доступ к конкретной розетке или группе розеток. Пользователям доступны только розетки, к которым у них есть доступ. |
Определение силы токи и оповещение |
Просмотр питания всего устройства и установка оповещения при опасных ситуациях. |
Создание групп для одновременного управления всеми розетками. |
Объединение розеток в группы позволяет управлять сразу несколькими розетками одной командой. |
Таймер задержки для каскадного подключения |
Таймер задержки предохраняет устройства от одновременной подачи тока и превышение допустимой нагрузки. |
Светящаяся розетка | Гарри Поттер вики
Внешний вид розетки из четвертого фильма
Торговцы трансгрессировали на каждом свободном футе пространства, неся лотки и толкая тележки, полные невиданных товаров. Тут были светящиеся розетки, зеленые для ирландских болельщиков, красные — для болгарских, выкрикивающие имена игроков… |
Розетки болельщиков
Светящиеся розетки (англ. Luminous rosette) — украшения из текстильной ленты, задрапированной в форме цветка (возможно, с надписью на сердцевине). Подобные розетки продавались в качестве атрибутики болельщиков на финале Чемпионата мира по квиддичу в 1994 году. Болельщики прикалывали их себе на одежду. Розетки были разных цветов, в зависимости от цветов команды. Они светились и выкрикивали имена игроков.
Владельцы
Зеленые розетки приобрели:
- Рон Уизли. Он купил большую зеленую розетку. Миниатюрная фигурка Виктора Крама, ловца болгарской сборной (которую Рон тоже купил), неодобрительно поглядывала на эту ирландскую розетку соперников.[1]
- Гарри Поттер. Во время матча розетка на груди Гарри непрерывно выкрикивала имена игроков ирландской команды: «Трой — Маллет — Моран!».[2]
- Симус Финниган. Месяц спустя, в Хогвартс-экспрессе, Симус продолжал носить свою ирландскую розетку с чемпионата, но её магическая сила заметно ослабела, и хотя та по-прежнему выкрикивала: «Трой! Маллет! Моран!», но уже едва слышно.
[3] Приехав в Хогвартс, Симус приколол розетку в изголовье своей кровати.[4]
- Чарли Уизли, Билл Уизли, Джинни Уизли.
Отличия фильма от книги
Гермиона с приколотой розеткой
- В четвёртом фильме розетка есть только у Гермионы Грейнджер (хотя в книге не указано, что она её себе купила). В сердцевине розетки изображен снитч с надписью «Ирландия». Изображение можно воспринимать, как рожицу с глазами, носом и ртом. Возможно, этим ртом розетка могла выкрикивать имена игроков.
Появления
Примечания
Что такое герметичные розетки?
Нет ничего более важного, чем безопасность Вашей семьи, сотрудников или клиентов Вашей фирмы. Именно поэтому в помещениях, подверженных воздействию влаги или контакту с водой, а именно в ванных комнатах, кухнях и подвалах, на протяжении многих лет используются герметичные розетки, также известные как влагозащищенные розетки.
Характерной особенностью герметичной розетки является встроенная в розетку защитная крышка. Она эффективно блокирует воздействие интенсивной влажности или капель воды непосредственно на электрический контакт. Герметичные розетки также используются в школах и детских садах, поскольку они препятствуют непосредственному доступу детей к электрическим контактам и понижают риск поражения электрическим током.
В дополнение к вышеупомянутой защитной крышке герметичные розетки должны быть дополнительно снабжены высококачественной прокладкой. В случае затопления комнаты прокладка предотвратит риск электрического короткого замыкания, изолируя розетку от большего количества воды. Прокладка должна быть изготовлена из высококачественного материала, благодаря чему будет исправно служить в течение многих лет.
Также не стоит забывать об эстетических качествах. Сегодня влагозащищенные розетки доступны в различных цветах и моделях, поэтому они могут вписаться в большинство интерьеров, независимо от стиля помещения.
Наружные герметичные розетки — это розетки, которые могут быть установлены непосредственно на поверхности стены без необходимости прокладки электропроводки в стене. Такие розетки использовались до сих пор в основном в гаражах, подвалах и складах. Однако с недавних пор, с приходом моды на промышленный стиль, эти розетки стали популярны среди дизайнеров интерьеров и все чаще встречаются в современных аранжировках.
Встраиваемые герметичные розетки — это розетки, которые устанавливаются в стене. Их электропроводка полностью скрыта. Эти розетки наиболее часто используются в квартирах и домах, а также везде, где важна дискретность электрических контактов.
Заземление герметичных розетокЗаземление предотвращает долгосрочное поддержание электрического потенциала на корпусах электрооборудования. Это защитная система, которая направлена на обеспечение безопасной и правильной работы электрооборудования. Благодаря моделям, оснащенным заземлением, мы защищаем наше электрооборудование ещё надежнее. Подключенное к источнику питания устройство не будет повреждено, если произойдет прорыв.
Нам встречается много маркировок герметичных розеток: IP44, IP45, IP55 i IP65. Классификация IP – это, проще говоря, различие степеней защиты электрических устройств, гарантированных корпусом этих устройств. А именно:
IP44:
- защита от посторонних предметов диаметром более 1 мм
- защиты от брызг
IP45:
- защита от посторонних предметов диаметром более 1 мм
- защиты от струи воды 12л/мин, направленной на корпус устройства
IP55:
- защиты от пыли
- защиты от струи воды 12л/мин, направленной на корпус устройства
IP65:
- полная защита от пыли
- защиты от струи воды 12л/мин, направленной на корпус устройства
В зависимости от помещения, которое мы оборудуем влагозащищенными розетками, стоит подумать, какой уровень защиты будет для нас подходящим и действительно необходимым. Помните, что в кухнях, ванных комнатах или мастерских степень защиты должна быть выше.
Компания Ospel уже многие годы занимается производством влагозащищенных розеток. В производстве мы используем новейшие технологии, высококачественные материалы, а также мы заботимся об эстетическом внешнем виде наших розеток. В коллекциях OSPEL мы подготовили влагозащищенные розетки в модной цветовой гамме для каждого типа и стиля помещения. Мы уделили особое внимание безопасности. Крышки и прокладки наших розеток изготовлены из качественных и, прежде всего, прочных материалов. Более того, наши розетки полностью польского производства. Мы уверены, что клиенты по достоинству оценят качество и исполнение наших розеток.
Эволюция электрических розеток.
В то время бытовые электроприборы обычно включали в патроны ламп. Несомненно, такое подключение было неудобно и небезопасно, поэтому требовалась разработака специальных разъёмов.
Бытовая электрическая штепсельная розетка возникла, по сути, благодаря сочетанию двух факторов – появлению электробытовых приборов и возникновению необходимости подключать их в удобном для пользователя месте. Т.е. если не родителями штепсельной пары вилка-розетка, то причиной ее быстрого и широкого распространения стало появление мобильных бытовых электрических приборов.
Первым, патент на электрическую розетку в 1904 году получил Харви Хаббелл II (Harvey Hubbell II), U.S. patent No. 774,250. Кроме того, он добился принятия единого стандарта. Запатентованная Хаббелом штепсельная пара отличается от распространённой в настоящее время (преимущественно в Европе и России) только формой штырей вилки. У «Хаббеловского» изделия штыри представляют собой плоские фигурные пластины и соответствующей формы разъемы в розетке. Стоит отметить, что плоские контакты также имеют распространение (например, американский и японский, стандарты Великобритании и Израиля).
Другие производители приняли разъём Хаббелла и к 1915 году он стал широко распространён, хотя и в 1920х годах, и даже значительно позднее переходники для патронов Эдисона пользовались популярностью. Хоть и нечасто, но такие переходники можно найти в продаже и сегодня.
Плоская пластина имеет преимущество перед округлыми контактами, т.к. во-первых, площадь контактирующей поверхности больше, за счёт чего соединение более надёжно. Во-вторых, такие пластины позволяют обеспечить соединения различной мощности, при подключении их к продольному проводнику (шинопроводу), за счёт возможности изменения ширины пластин, а, следовательно, площади контактирующих поверхностей, что немаловажно при условии использования в рамках одной системы потребителей разной мощности.
Изначально, розетка не была приспособлена для закрепления на стене. Подобный тип розеток дожил до наших дней, например, в виде розеток на бытовых удлинителях. Чуть позже розетки стали монтировать на стену, еще позже, при переходе к скрытой проводке, в углубление в стене. Такое направление эволюции розеток можно объяснить двумя причинами. Первоначально, электричество приходило в уже существующие здания, проводка устраивалась по поверхности стен, поскольку это не требовало объемных строительных работ. С другой стороны, низкое качество изоляции проводников, подверженность ее старению, требовало иметь возможность визуально контролировать и по мере надобности обслуживать и заменять провода и места их соединений. В настоящее время, преимущественно используются медные провода, как наиболее подходящие, имеющие низкое сопротивление и высокую долговечность, что позволило в большинстве перейти к использованию внутренней проводки.
С момента выдачи патента на изобретение Хаббела, до идеи объединения в одном корпусе более чем одной розетки прошло 14 лет. В 1918 году основатель компании «Matsushita Electric» Коносокэ Мацусита вышел на японский рынок с двойной розеткой. Такое решение позволяло упростить монтаж и сэкономить место на стене.
Следующей важной вехой в истории развития электрических розеток стало изобретение Альбертом Бюттнером розетки с заземляющим контактом (Schuko). Патент на это изобретение вступил в силу в 1926 году.
«Schuko» (Шуко) это разговорное название системы cиловых вилок и розеток для переменного тока, официально определённой в стандарте CEE 7/4 или известной неофициально как «Тип F». «Schuko» — это сокращение от немецкого термина Schutzkontakt (Шутцконтакт, дословно: «защитный контакт»), что просто указывает на то, что вилка и розетка снабжены контактами защитного заземления (в виде скоб, а не штырей).Разъёмы Schuko обычно используются в цепях на 230 В, 50 Гц, для токов силой до 16 А.
По состоянию на 2011 год система используется в более чем 40 странах, включая большую часть континентальной Европы.
В странах бывшего CCCР вилку Schuko часто называют «евровилкой», а розетку — «евророзеткой», видимо из-за того, что приборы, поставляемые из Европы (в данном случае Германии) комплектовались вилкой Schuko.
Розетки Schuko критикуют за то, что они не снабжены предохранителем, неполяризованы по своей конструкции (хотя необходимость поляризации тоже подвергается сомнению), за значительное усилие для подключения и отключения вилки, что для некоторых людей является проблемой, и за большие габариты. Стандарт IEC 60906-1, возможно, вытеснит Schuko в будущем.
Дальнейшее развитие электрических розеток шло в основном по пути снижения опасности случайного поражения пользователя электрическим током, оптимизации системы монтажа, поиска новых конструкционных материалов, введения дополнительных функций и поиска новых дизайнерских решений.
Большинство производителей перешло к модульным типам устройств. Такие устройства позволяют комбинировать розетки с рамками под количество мест от 1 до 5 и организовывать, таким образом, места подключений с необходимым количеством розеток.
Изначально розетки ставились на достаточной большой высоте от пола. Впоследствии, в России был разработан стандарт, регламентирующий установку розеток на расстоянии 80 – 90 см от пола (в настоящее время ПЭУ определяет положение розеток не выше 180 см). Другие стандарты определяют ещё более низкое положение розеток, 20 – 30 см от пола. «Плинтусные розетки», имеющие соответствующую форму, устанавливаются непосредственно на плинтус, в кабель-канале которого прокладываются провода.
Розетки и наборы розеток | DEWALT
Гнезда DEWALT ® оснащены декоративными кольцами с накаткой, которые помогают уменьшить проскальзывание при обращении, и маркировкой с лазерной гравировкой для облегчения идентификации.
Ваш выбор
41 результат Очистить все
Нет текущих выборов
Размер диска (дюймы) Посмотреть больше фильтров Посмотреть все Сортировать по Новейшие Самый старый По названию от А до Я По имени Z-A 41 результат Товаров не найдено.
{{ModelName}}
{{#unless HideCompare}} Сравнить продукт {{/пока не}} {{#if IsAccessory}} Посмотреть серию {{else}} {{#if BuyNow}} купить сейчас {{else}} Посмотреть продукт {{/если}} {{/если}}Межпроцессное взаимодействие в Linux: сокеты и сигналы
Это третья и последняя статья в серии о межпроцессном взаимодействии (IPC) в Linux.Первая статья была посвящена IPC через общее хранилище (файлы и сегменты памяти), а вторая статья делает то же самое для основных каналов: каналов (именованных и безымянных) и очередей сообщений. В этой статье мы перейдем от IPC на высоком уровне (сокеты) к IPC на низком уровне (сигналы). Примеры кода раскрывают детали.
Розетки
Точно так же, как трубы бывают двух видов (именованные и безымянные), так и сокеты. Сокеты IPC (также известные как сокеты домена Unix) обеспечивают связь на основе каналов для процессов на одном и том же физическом устройстве (хост , ), тогда как сетевые сокеты позволяют использовать этот вид IPC для процессов, которые могут выполняться на разных хостах, тем самым задействуя сеть.Сетевые сокеты нуждаются в поддержке базового протокола, такого как TCP (протокол управления передачей) или UDP (протокол дейтаграмм пользователя) нижнего уровня.
Напротив, сокеты IPC полагаются на ядро локальной системы для поддержки связи; в частности, IPC-сокеты обмениваются данными, используя локальный файл в качестве адреса сокета. Несмотря на эти различия в реализации, API-интерфейсы сокетов IPC и сетевых сокетов по сути идентичны. В следующем примере рассматриваются сетевые сокеты, но примеры серверных и клиентских программ могут работать на одном компьютере, поскольку сервер использует сетевой адрес localhost (127. 0.0.1), адрес локальной машины на локальной машине.
Сокеты, сконфигурированные как потоки (обсуждаемые ниже), являются двунаправленными, и управление следует шаблону клиент / сервер: клиент инициирует диалог, пытаясь подключиться к серверу, который пытается принять соединение. Если все работает, запросы от клиента и ответы от сервера могут проходить по каналу до тех пор, пока он не будет закрыт на любом конце, тем самым разорвав соединение.
[Загрузить полное руководство по межпроцессному взаимодействию в Linux]
Итерационный сервер , который подходит только для разработки, обрабатывает подключенных клиентов по одному до завершения: первый клиент обрабатывается от начала до конца, затем второй и так далее.Обратной стороной является то, что обработка конкретного клиента может зависнуть, что затем истощает всех ожидающих клиентов. Сервер производственного уровня будет иметь одновременных , обычно с использованием некоторого сочетания многопроцессорной обработки и многопоточности. Например, веб-сервер Nginx на моем настольном компьютере имеет пул из четырех рабочих процессов, которые могут обрабатывать клиентские запросы одновременно. В следующем примере кода беспорядок сводится к минимуму за счет использования итеративного сервера; Таким образом, основное внимание уделяется базовому API, а не параллелизму.
Наконец, API сокетов значительно эволюционировал с появлением различных усовершенствований POSIX. Текущий пример кода для сервера и клиента намеренно прост, но подчеркивает двунаправленный аспект потокового сокетного соединения. Вот краткое описание потока управления, когда сервер запускается в терминале, затем клиент запускается в отдельном терминале:
Пример 1. Сервер сокетов
#include
#include
#include
#include
#include
#include
#include
# include
#include "sock.h"void report (const char * msg, int terminate) {
perror (msg);
если (завершить) выход (-1); / * сбой * /
}int main () {
int fd = socket (AF_INET, / * сеть по сравнению с AF_LOCAL * /
SOCK_STREAM, / * надежный, двунаправленный, произвольный размер полезной нагрузки * /
0); / * система выбирает базовый протокол (TCP) * /
if (fd <0) report ("socket", 1); / * завершение * // * привязка локального адреса сервера в памяти * /
struct sockaddr_in saddr;
memset (& saddr, 0, sizeof (saddr)); / * очищаем байты * /
saddr.sin_family = AF_INET; / * по сравнению с AF_LOCAL * /
saddr.sin_addr.s_addr = htonl (INADDR_ANY); / * порядок байтов от хоста к сети * /
saddr.sin_port = htons (PortNumber); / * для прослушивания * /if (bind (fd, (struct sockaddr *) & saddr, sizeof (saddr)) <0)
report ("bind", 1); / * завершение * // * прослушивание сокета * /
if (listen (fd, MaxConnects) <0) / * прослушивание клиентов, вплоть до MaxConnects * / отчет
("прослушивание", 1); / * terminate * /fprintf (stderr, "Прослушивание порта% i для клиентов... \ n ", PortNumber);
/ * сервер традиционно слушает бесконечно * /
while (1) {
struct sockaddr_in caddr; / * адрес клиента * /
int len = sizeof (caddr); / * длина адреса может изменить * /int client_fd = accept (fd, (struct sockaddr *) & caddr, & len); / * принять блоки * /
if (client_fd <0) {
report ("accept", 0); / * don ' t terminate, хотя есть проблема * /
continue;
}/ * чтение с клиента * /
int i;
for (i = 0; ichar buffer [BuffSize + 1];
memset (buffer, '\ 0', sizeof (buffer));
int count = read (client_fd, buffer, sizeof (buffer));
if (count> 0) {
put (buffer);
write (client_fd , buffer, sizeof (buffer)); / * вывод в качестве подтверждения * /
}
}
close (client_fd); / * разрыв соединения * /
} / * while (1) * /
return 0;
}
Приведенная выше серверная программа выполняет классические четыре этапа, чтобы подготовиться к запросам клиентов, а затем принять индивидуальные запросы. Каждый шаг назван в честь системной функции, которую вызывает сервер:
- socket (…) : получить дескриптор файла для соединения с сокетом
- bind (…) : привязать сокет к адресу на хосте сервера
- слушать (…) : слушать запросы клиентов
- accept (…) : принять конкретный запрос клиента
Розетка вызов в полном объеме:
int sockfd = socket (AF_INET, / * по сравнению с AF_LOCAL * /
SOCK_STREAM, / * надежный, двунаправленный * /
0); / * протокол выбора системы (TCP) * /
Первый аргумент определяет сетевой сокет, а не IPC-сокет.Для второго аргумента существует несколько вариантов, но наиболее часто используются SOCK_STREAM и SOCK_DGRAM (дейтаграмма). Потоковый сокет поддерживает надежный канал, по которому сообщается о потерянных или измененных сообщениях; канал является двунаправленным, и полезная нагрузка от одной стороны к другой может быть произвольного размера. Напротив, сокет на основе дейтаграмм ненадежен ( лучше всего ), однонаправлен и требует полезной нагрузки фиксированного размера. Третий аргумент socket указывает протокол.Для задействованного здесь потокового сокета есть единственный вариант, который представляет ноль: TCP. Поскольку успешный вызов socket возвращает знакомый файловый дескриптор, сокет записывается и читается с тем же синтаксисом, что и, например, локальный файл.
Вызов bind является наиболее сложным, поскольку он отражает различные уточнения в API сокетов. Интересно то, что этот вызов связывает сокет с адресом памяти на сервере. Однако вызов listen прост:
если (прослушивание (fd, MaxConnects) <0)
Первый аргумент - это файловый дескриптор сокета, а второй указывает, сколько клиентских подключений может быть выполнено до того, как сервер выдаст сообщение , в котором отказано в соединении, ошибка при попытке подключения. ( MaxConnects имеет значение 8 в файле заголовка sock.h .)
Для accept по умолчанию установлено ожидание блокировки : сервер ничего не делает, пока клиент не попытается подключиться, а затем продолжит работу. Функция accept возвращает -1 , чтобы указать на ошибку. Если вызов завершается успешно, он возвращает другой дескриптор файла - для сокета чтения / записи , в отличие от , принимающего сокет , на который ссылается первый аргумент в вызове accept .Сервер использует сокет чтения / записи для чтения запросов от клиента и для обратной записи ответов. Принимающий сокет используется только для приема клиентских подключений.
По умолчанию сервер работает бесконечно. Соответственно, сервер может быть остановлен с помощью Ctrl + C из командной строки.
Пример 2. Клиент сокета
#include
#includeh>
#include
#include
#include
#include
#include
#include
#include
#include
#include "sock.h"const char * books [] = {"Война и мир",
"Гордость и предубеждение",
"Звук и ярость"};недействительный отчет (const char * msg, int terminate) {
perror (msg);
если (завершить) выход (-1); / * сбой * /
}int main () {
/ * fd для сокета * /
int sockfd = socket (AF_INET, / * по сравнению с AF_LOCAL * /
SOCK_STREAM, / * надежный, двунаправленный * /
0) ; / * система выбирает протокол (TCP) * /
if (sockfd <0) report ("socket", 1); / * terminate * // * получение адреса хоста * /
struct hostent * hptr = gethostbyname (Host); / * локальный: 127.0.0.1 * /
if (! Hptr) report ("gethostbyname", 1); / * hptr NULL? * /
if (hptr-> h_addrtype! = AF_INET) / * по сравнению с AF_LOCAL * /
report ("неверное семейство адресов", 1);/ * подключиться к серверу: настроить адрес сервера 1st * /
struct sockaddr_in saddr;
memset (& saddr, 0, sizeof (saddr));
saddr.sin_family = AF_INET;
saddr.sin_addr.s_addr =
((struct in_addr *) hptr-> h_addr_list [0]) -> s_addr;
saddr.sin_port = htons (номер порта); / * номер порта с прямым порядком байтов * /if (connect (sockfd, (struct sockaddr *) & saddr, sizeof (saddr)) <0)
report ("connect", 1);/ * Напишите что-нибудь и прочтите эхо.* /
put ("Подключиться к серверу, собираюсь написать кое-что ...");
int i;
for (i = 0; iif (write (sockfd, books [i], strlen (books [i]))> 0) {
/ * получить подтверждение от сервера и распечатать * /
буфер символов [BuffSize + 1];
memset (буфер, '\ 0', sizeof (буфер));
if (read (sockfd, buffer, sizeof (buffer))> 0)
put (buffer);
}
}
put ("Клиент готов, выходит... ");
close (sockfd); / * закрываем соединение * /
return 0;
}
Установочный код клиентской программы аналогичен серверному. Принципиальное различие между ними заключается в том, что клиент не слушает и не принимает, а вместо этого подключается:
if (connect (sockfd, (struct sockaddr *) & saddr, sizeof (saddr)) <0)
Вызов connect может завершиться ошибкой по нескольким причинам; например, у клиента неправильный адрес сервера или слишком много клиентов уже подключено к серверу. Если операция connect завершается успешно, клиент записывает запросы, а затем считывает отраженные ответы в цикле для . После разговора и сервер, и клиент закрывают сокет чтения / записи, хотя операции закрытия с любой стороны достаточно, чтобы закрыть соединение. После этого клиент завершает работу, но, как отмечалось ранее, сервер остается открытым для работы.
Пример сокета, с сообщениями запроса, возвращаемыми обратно клиенту, намекает на возможности произвольно насыщенных диалогов между сервером и клиентом.Пожалуй, это главная привлекательность розеток. В современных системах клиентские приложения (например, клиент базы данных) обычно взаимодействуют с сервером через сокет. Как отмечалось ранее, локальные сокеты IPC и сетевые сокеты отличаются только некоторыми деталями реализации; Как правило, сокеты IPC имеют меньшие накладные расходы и лучшую производительность. Коммуникационный API по существу одинаков для обоих.
Сигналы
Сигнал прерывает выполняющуюся программу и, в этом смысле, связывается с ней.Большинство сигналов можно либо игнорировать (блокировать), либо обрабатывать (с помощью назначенного кода), с двумя заметными исключениями SIGSTOP (пауза) и SIGKILL (немедленно завершить). Символьные константы, такие как SIGKILL , имеют целочисленные значения, в данном случае 9.
Сигналы могут возникать при взаимодействии с пользователем. Например, пользователь нажимает Ctrl + C из командной строки, чтобы завершить программу, запущенную из командной строки; Ctrl + C генерирует сигнал SIGTERM . SIGTERM для terminate , в отличие от SIGKILL , может быть либо заблокирован, либо обработан. Один процесс также может сигнализировать другому, тем самым превращая сигналы в механизм IPC.
Подумайте, как многопроцессорное приложение, такое как веб-сервер Nginx, может корректно завершаться другим процессом. kill функция:
int kill (pid_t pid, int signum); / * декларация * /
может использоваться одним процессом для завершения другого процесса или группы процессов.Если первый аргумент функции kill больше нуля, этот аргумент обрабатывается как pid (идентификатор процесса) целевого процесса; если аргумент равен нулю, аргумент идентифицирует группу процессов, к которым принадлежит отправитель сигнала.
Второй аргумент kill - это либо стандартный номер сигнала (например, SIGTERM или SIGKILL ), либо 0, что делает вызов сигнала запросом о том, действительно ли pid в первом аргументе действительный.Таким образом, плавное завершение работы многопроцессорного приложения может быть выполнено путем отправки сигнала terminate - вызова функции kill с SIGTERM в качестве второго аргумента - группе процессов, составляющих приложение. (Главный процесс Nginx может завершить рабочие процессы вызовом kill , а затем выйти из себя.) Функция kill , как и многие другие библиотечные функции, обладает мощью и гибкостью в простом синтаксисе вызова.
Пример 3. Изящное завершение работы многопроцессорной системы
#include
#include
#include
#include
#includevoid graceful (int signum) {
printf ("\ tChild, подтверждающий полученный сигнал:% i \ n", signum);
put ("\ tChild собирается завершить работу ...");
сон (1);
put ("\ tChild сейчас завершается ...");
_exit (0); / * быстрое уведомление родителя * /
}void set_handler () {
struct sigaction current;
sigemptyset (& current.sa_mask); / * очищаем набор сигналов * /
current.sa_flags = 0; / * разрешает установку sa_handler, а не sa_action * /
current.sa_handler = graceful; / * указываем обработчик * /
sigaction (SIGTERM, & current, NULL); / * регистрируем обработчик * /
}void child_code () {
set_handler ();while (1) {/ ** цикл до прерывания ** /
sleep (1);
put ("\ t Ребенок только что проснулся, но снова засыпает.");
}
}void parent_code (pid_t cpid) {
put ("Родитель спит какое-то время... ");
sleep (5);/ * Попытка завершить дочерний элемент. * /
if (-1 == kill (cpid, SIGTERM)) {
perror (" kill ");
exit (-1 );
}
wait (NULL); / ** ждать завершения дочернего процесса ** /
put ("Мой дочерний элемент завершен, я собираюсь выйти из себя ...");
}int main () {
pid_t pid = fork ();
if (pid <0) {
perror ("fork");
return -1; / * ошибка * /
}
if (0 == pid)
child_code ();
else
parent_code (pid);
return 0; / * нормальный * /
}
Вышеупомянутая программа shutdown имитирует постепенное завершение работы многопроцессорной системы, в данном случае простой, состоящей из родительского процесса и единственного дочернего процесса.Симуляция работает следующим образом:
- Родительский процесс пытается разветвить дочерний процесс.
Если вилка завершается успешно, каждый процесс выполняет свой собственный код: дочерний процесс выполняет функцию child_code , а родительский элемент выполняет функцию parent_code .
- Дочерний процесс входит в потенциально бесконечный цикл, в котором дочерний процесс на секунду спит, печатает сообщение, возвращается в режим сна и так далее. Именно сигнал SIGTERM от родителя заставляет потомок выполнять функцию обратного вызова обработки сигнала graceful .Таким образом, сигнал прерывает дочерний процесс из его цикла и устанавливает плавное завершение как дочернего, так и родительского процессов. Ребенок печатает сообщение перед завершением.
- Родительский процесс после разветвления дочернего процесса засыпает на пять секунд, чтобы потомок мог некоторое время выполняться; конечно, ребенок в основном спит в этой симуляции. Затем родительский объект вызывает функцию kill с SIGTERM в качестве второго аргумента, ожидает завершения дочернего процесса и затем завершает работу.
Вот результат пробного запуска:
% ./shutdown
Родитель спит какое-то время ...
Ребенок только что проснулся, но снова засыпает.
Ребенок только что проснулся, но снова засыпает.
Ребенок только что проснулся, но снова засыпает.
Ребенок только что проснулся, но снова засыпает.
Дочерний объект, подтверждающий получение сигнала: 15 ## SIGTERM is 15
Дочерний объект собирается корректно завершить работу ...
Дочерний объект завершается сейчас...
Мой ребенок умер, собираюсь уйти ...
Для обработки сигналов в примере используется функция библиотеки sigaction (рекомендуется POSIX), а не устаревшая функция signal , которая имеет проблемы с переносимостью. Вот наиболее интересные сегменты кода:
- Если вызов fork завершается успешно, родительский элемент выполняет функцию parent_code , а дочерний элемент выполняет функцию child_code .
Родитель ждет пять секунд, прежде чем подать сигнал ребенку:
put ("Родитель спит какое-то время... ");
Если вызов kill завершается успешно, родитель выполняет ожидания при завершении дочернего процесса, чтобы предотвратить превращение ребенка в постоянного зомби; после ожидания родитель выходит.
сон (5);
если (-1 == kill (cpid, SIGTERM)) {
... - Функция child_code сначала вызывает set_handler , а затем переходит в свой потенциально бесконечный цикл ожидания. Вот функция set_handler для обзора:
void set_handler () {
struct sigaction current; / * текущая настройка * /
sigemptyset (& current.sa_mask); / * очищаем набор сигналов * /
current.sa_flags = 0; / * для установки sa_handler, а не sa_action * /
current.sa_handler = graceful; / * указываем обработчик * /
sigaction (SIGTERM, & current, NULL); / * регистрируем обработчик * /
}Четвертый оператор устанавливает в обработчике функцию graceful , которая печатает некоторые сообщения перед вызовом _exit для завершения. Пятый и последний оператор затем регистрирует обработчик в системе через вызов sigaction .Первым аргументом для sigaction является SIGTERM для terminate , вторым является текущая настройка sigaction , а последний аргумент ( NULL в данном случае) может использоваться для сохранения предыдущей настройки sigaction , возможно для дальнейшего использования.
Использование сигналов для IPC - действительно минималистский подход, но при этом уже проверенный. IPC через сигналы явно входит в набор инструментов IPC.
Завершение серии
В этих трех статьях по IPC на примерах кода рассмотрены следующие механизмы:
- Общие файлы
- Общая память (с семафорами)
- Трубы (названные и безымянные)
- Очереди сообщений
- Розетки
- Сигналы
Даже сегодня, когда языки, ориентированные на потоки, такие как Java, C # и Go, стали настолько популярными, IPC остается привлекательным, потому что параллелизм через многопроцессорность имеет очевидное преимущество перед многопоточностью: каждый процесс по умолчанию имеет свой собственный адресное пространство, которое исключает условия гонки на основе памяти при многопроцессорной обработке, если не задействован механизм IPC совместно используемой памяти. (Общая память должна быть заблокирована как для многопроцессорной, так и для многопоточной обработки для безопасного параллелизма.) Любой, кто написал хотя бы элементарную многопоточную программу с обменом данными через общие переменные, знает, насколько сложно написать потокобезопасный, но понятный, эффективный код. Многопроцессорная обработка с однопоточными процессами остается жизнеспособным - действительно, весьма привлекательным - способом использования преимуществ современных многопроцессорных машин без неотъемлемого риска состояний гонки на основе памяти.
Конечно, нет однозначного ответа на вопрос, какой из механизмов IPC является лучшим.Каждый из них предполагает компромисс, типичный для программирования: простота или функциональность. Например, сигналы - это относительно простой механизм IPC, но они не поддерживают полноценные диалоги между процессами. Если такое преобразование необходимо, то более подходящим вариантом будет один из других вариантов. Совместно используемые файлы с блокировкой довольно просты, но общие файлы могут не работать достаточно хорошо, если процессам необходимо совместно использовать большие потоки данных; каналы или даже сокеты с более сложными API-интерфейсами могут быть лучшим выбором. Пусть ваша проблема будет руководить выбором.
Хотя пример кода (доступен на моем веб-сайте) полностью написан на C, другие языки программирования часто предоставляют тонкие оболочки для этих механизмов IPC. Я надеюсь, что примеры кода короткие и достаточно простые, чтобы побудить вас поэкспериментировать.
АдресСемья | Получает семейство адресов Socket. |
Имеется в наличии | Получает объем данных, полученных из сети и доступных для чтения. |
Блокировка | Получает или задает значение, указывающее, находится ли сокет в режиме блокировки. |
Связанный | Получает значение, указывающее, подключен ли Socket к удаленному узлу на момент последней операции отправки или получения. |
DontFragment | Получает или задает значение, указывающее, разрешает ли сокет фрагментировать дейтаграммы Интернет-протокола (IP). |
Двойной режим | Получает или задает логическое значение, указывающее, является ли Socket двухрежимным сокетом, используемым как для IPv4, так и для IPv6. |
EnableBroadcast | Получает или задает логическое значение, указывающее, может ли Socket отправлять или получать широковещательные пакеты. |
ExclusiveAddressUse | Получает или задает логическое значение, указывающее, разрешает ли Socket только один процесс связываться с портом. |
Ручка | Получает дескриптор операционной системы для Socket. |
Связан | Получает значение, указывающее, привязан ли сокет к определенному локальному порту. |
LingerState | Получает или задает значение, указывающее, будет ли Socket задерживать закрытие сокета при попытке отправить все ожидающие данные. |
LocalEndPoint | Получает локальную конечную точку. |
MulticastLoopback | Получает или задает значение, указывающее, доставляются ли исходящие многоадресные пакеты отправляющему приложению. |
Без задержки | Получает или задает логическое значение, указывающее, использует ли поток Socket алгоритм Нэгла. |
OSSupportsIPv4 | Указывает, поддерживают ли базовая операционная система и сетевые адаптеры протокол Интернета версии 4 (IPv4). |
OSSupportsIPv6 | Указывает, поддерживают ли базовая операционная система и сетевые адаптеры протокол Интернета версии 6 (IPv6). |
OSSupportsUnixDomainSockets | Указывает, поддерживает ли базовая операционная система доменные сокеты Unix. |
ProtocolType | Получает тип протокола сокета. |
ReceiveBufferSize | Получает или задает значение, указывающее размер приемного буфера Socket. |
ReceiveTimeout | Получает или задает значение, указывающее время, по истечении которого синхронный вызов приема истечет. |
RemoteEndPoint | Получает удаленную конечную точку. |
SafeHandle | Получает SafeSocketHandle, представляющий дескриптор сокета, инкапсулируемый текущим объектом Socket. |
SendBufferSize | Получает или задает значение, указывающее размер буфера отправки Socket. |
SendTimeout | Получает или задает значение, указывающее период времени, по истечении которого синхронный вызов Send истечет. |
SocketType | Получает тип сокета. |
Поддерживает IPv4 | Устарело. Устарело. Устарело. Получает значение, показывающее, доступна ли и включена ли поддержка IPv4 на текущем узле. |
Поддерживает IPv6 | Устарело. Устарело. Устарело. Получает значение, указывающее, поддерживает ли платформа IPv6 для некоторых устаревших членов DNS. |
Ттл | Получает или задает значение, определяющее значение времени жизни (TTL) для пакетов Интернет-протокола (IP), отправленных Socket. |
UseOnlyOverlappedIO | Указывает, должен ли сокет использовать только режим ввода-вывода с перекрытием. |
Принимать() | Создает новый сокет для вновь созданного соединения. |
AcceptAsync (SocketAsyncEventArgs) | Начинает асинхронную операцию для принятия попытки входящего подключения. |
BeginAccept (AsyncCallback, объект) | Начинает асинхронную операцию для принятия попытки входящего подключения. |
BeginAccept (Int32, AsyncCallback, Объект) | Начинает асинхронную операцию по принятию попытки входящего подключения и получает первый блок данных, отправленный клиентским приложением. |
BeginAccept (Socket, Int32, AsyncCallback, Объект) | Начинает асинхронную операцию по принятию попытки входящего подключения от указанного сокета и получает первый блок данных, отправленный клиентским приложением. |
BeginConnect (конечная точка, AsyncCallback, объект) | Начинает асинхронный запрос на подключение к удаленному хосту. |
BeginConnect (IP-адрес, Int32, AsyncCallback, объект) | Начинает асинхронный запрос на подключение к удаленному хосту. Хост указывается IP-адресом и номером порта. |
BeginConnect (IPAddress [], Int32, AsyncCallback, Объект) | Начинает асинхронный запрос на подключение к удаленному хосту.Хост указывается массивом IPAddress и номером порта. |
BeginConnect (String, Int32, AsyncCallback, Объект) | Начинает асинхронный запрос на подключение к удаленному хосту. Хост определяется именем хоста и номером порта. |
BeginDisconnect (логическое значение, AsyncCallback, объект) | Начинает асинхронный запрос на отключение от удаленной конечной точки. |
BeginReceive (Byte [], Int32, Int32, SocketFlags, AsyncCallback, Object) | Начинает асинхронно получать данные из подключенного Socket. |
BeginReceive (Byte [], Int32, Int32, SocketFlags, SocketError, AsyncCallback, Object) | Начинает асинхронно получать данные из подключенного Socket. |
BeginReceive (IList | Начинает асинхронно получать данные из подключенного Socket. |
BeginReceive (IList | Начинает асинхронно получать данные из подключенного Socket. |
BeginReceiveFrom (Byte [], Int32, Int32, SocketFlags, EndPoint, AsyncCallback, Object) | Начинает асинхронно получать данные от указанного сетевого устройства. |
BeginReceiveMessageFrom (Byte [], Int32, Int32, SocketFlags, EndPoint, AsyncCallback, Object) | Начинает асинхронно получать указанное количество байтов данных в указанное место буфера данных, используя указанные SocketFlags, и сохраняет информацию о конечной точке и пакете. |
BeginSend (Byte [], Int32, Int32, SocketFlags, AsyncCallback, Object) | Асинхронно отправляет данные в подключенный сокет. |
BeginSend (Byte [], Int32, Int32, SocketFlags, SocketError, AsyncCallback, Object) | Асинхронно отправляет данные в подключенный сокет. |
BeginSend (IList | Асинхронно отправляет данные в подключенный сокет. |
BeginSend (IList | Асинхронно отправляет данные в подключенный сокет. |
BeginSendFile (строка, AsyncCallback, объект) | Отправляет файл |
BeginSendFile (String, Byte [], Byte [], TransmitFileOptions, AsyncCallback, Object) | Асинхронно отправляет файл и буферы данных в подключенный объект Socket. |
BeginSendTo (Byte [], Int32, Int32, SocketFlags, EndPoint, AsyncCallback, Object) | Асинхронно отправляет данные на конкретный удаленный хост. |
Привязать (конечная точка) | Связывает сокет с локальной конечной точкой. |
CancelConnectAsync (SocketAsyncEventArgs) | Отменяет асинхронный запрос на подключение к удаленному хосту. |
Близко() | Закрывает соединение Socket и освобождает все связанные ресурсы. |
Закрыть (Int32) | Закрывает соединение Socket и освобождает все связанные ресурсы с указанным таймаутом, чтобы разрешить отправку данных из очереди. |
Подключиться (конечная точка) | Устанавливает соединение с удаленным хостом. |
Подключиться (IP-адрес, Int32) | Устанавливает соединение с удаленным хостом. Хост определяется IP-адресом и номером порта. |
Подключиться (IP-адрес [], Int32) | Устанавливает соединение с удаленным хостом. Хост определяется массивом IP-адресов и номером порта. |
Подключить (String, Int32) | Устанавливает соединение с удаленным хостом.Хост определяется именем хоста и номером порта. |
ConnectAsync (SocketAsyncEventArgs) | Начинает асинхронный запрос на соединение с удаленным хостом. |
ConnectAsync (SocketType, ProtocolType, SocketAsyncEventArgs) | Начинает асинхронный запрос на соединение с удаленным хостом. |
Отключить (логическое) | Закрывает соединение сокета и позволяет повторно использовать сокет. |
DisconnectAsync (SocketAsyncEventArgs) | Начинает асинхронный запрос на отключение от удаленной конечной точки. |
Утилизировать () | Освобождает все ресурсы, используемые текущим экземпляром класса Socket. |
Удалить (логическое) | Освобождает неуправляемые ресурсы, используемые Socket, и при необходимости избавляется от управляемых ресурсов. |
DuplicateAndClose (Int32) | Дублирует ссылку на сокет для целевого процесса и закрывает сокет для этого процесса. |
EndAccept (Byte [], IAsyncResult) | Асинхронно принимает попытку входящего подключения и создает новый объект Socket для обработки связи с удаленным хостом. Этот метод возвращает буфер, содержащий переданные исходные данные. |
EndAccept (Байт [], Int32, IAsyncResult) | Асинхронно принимает попытку входящего подключения и создает новый объект Socket для обработки связи с удаленным хостом. Этот метод возвращает буфер, содержащий начальные данные и количество переданных байтов. |
EndAccept (IAsyncResult) | Асинхронно принимает попытку входящего подключения и создает новый сокет для обработки связи с удаленным хостом. |
EndConnect (IAsyncResult) | Завершает отложенный запрос асинхронного подключения. |
EndDisconnect (IAsyncResult) | Завершает отложенный запрос на асинхронное отключение. |
EndReceive (IAsyncResult) | Завершает отложенное асинхронное чтение. |
EndReceive (IAsyncResult, SocketError) | Завершает отложенное асинхронное чтение. |
EndReceiveFrom (IAsyncResult, EndPoint) | Завершает отложенное асинхронное чтение из определенной конечной точки. |
EndReceiveMessageFrom (IAsyncResult, SocketFlags, EndPoint, IPPacketInformation) | Завершает отложенное асинхронное чтение из определенной конечной точки. Этот метод также показывает больше информации о пакете, чем EndReceiveFrom (IAsyncResult, EndPoint). |
EndSend (IAsyncResult) | Завершает отложенную асинхронную отправку. |
EndSend (IAsyncResult, SocketError) | Завершает отложенную асинхронную отправку. |
EndSendFile (IAsyncResult) | Завершает отложенную асинхронную отправку файла. |
EndSendTo (IAsyncResult) | Завершает ожидающую асинхронную отправку в определенное место. |
Равно (объект) | Определяет, равен ли указанный объект текущему объекту. (Унаследовано от Object) |
Завершить () | Освобождает ресурсы, используемые классом Socket. |
GetHashCode () | Возвращает хеш-значение для экземпляра Socket. |
GetHashCode () | Служит хеш-функцией по умолчанию. (Унаследовано от Object) |
GetRawSocketOption (Int32, Int32, Span | Получает значение параметра сокета, используя идентификаторы уровня и имени, зависящие от платформы. |
GetSocketOption (SocketOptionLevel, SocketOptionName) | Возвращает значение указанного параметра Socket, представленного как объект. |
GetSocketOption (SocketOptionLevel, SocketOptionName, Byte []) | Возвращает указанное значение параметра Socket, представленное как массив байтов. |
GetSocketOption (SocketOptionLevel, SocketOptionName, Int32) | Возвращает значение указанной опции Socket в массиве. |
GetType () | Получает тип текущего экземпляра. (Унаследовано от Object) |
IOControl (Int32, Byte [], Byte []) | Устанавливает низкоуровневые рабочие режимы для Socket с помощью кодов числового управления. |
IOControl (IOControlCode, Byte [], Byte []) | Устанавливает низкоуровневые режимы работы для Socket, используя перечисление IOControlCode для указания управляющих кодов. |
Слушать() | Переводит Socket в состояние прослушивания. |
Слушайте (Int32) | Переводит Socket в состояние прослушивания. |
MemberwiseClone () | Создает мелкую копию текущего объекта. (Унаследовано от Object) |
Опрос (Int32, SelectMode) | Определяет состояние сокета. |
Получить (Байт []) | Получает данные из привязанного Socket в приемный буфер. |
Получить (Байт [], Int32, Int32, SocketFlags) | Получает указанное количество байтов из привязанного Socket в указанную позицию смещения приемного буфера, используя указанные SocketFlags. |
Получить (Байт [], Int32, Int32, SocketFlags, SocketError) | Получает данные из привязанного Socket в приемный буфер, используя указанные SocketFlags. |
Получить (Байт [], Int32, SocketFlags) | Получает указанное количество байтов данных из привязанного Socket в приемный буфер, используя указанные SocketFlags. |
Получить (Байт [], SocketFlags) | Получает данные из привязанного Socket в приемный буфер, используя указанные SocketFlags. |
Получить (IList | Получает данные из привязанного Socket в список буферов приема. |
Получить (IList | Получает данные из привязанного Socket в список приемных буферов, используя указанные SocketFlags. |
Получить (IList | Получает данные из привязанного Socket в список приемных буферов, используя указанные SocketFlags. |
Получить (интервал <байт>) | Получает данные из привязанного Socket в приемный буфер. |
Получить (интервал <байт>, SocketFlags) | Получает данные из привязанного Socket в приемный буфер, используя указанные SocketFlags. |
Получить (интервал <байт>, SocketFlags, SocketError) | Получает данные из привязанного Socket в приемный буфер, используя указанные SocketFlags. |
ReceiveAsync (SocketAsyncEventArgs) | Начинает асинхронный запрос на получение данных от подключенного объекта Socket. |
ReceiveFrom (Байт [], Конечная точка) | Получает дейтаграмму в буфер данных и сохраняет конечную точку. |
ReceiveFrom (Байт [], Int32, Int32, SocketFlags, EndPoint) | Получает указанное количество байтов данных в указанное место буфера данных, используя указанный SocketFlags, и сохраняет конечную точку. |
ReceiveFrom (Байт [], Int32, SocketFlags, EndPoint) | Получает указанное количество байтов в буфер данных, используя указанные SocketFlags, и сохраняет конечную точку. |
ReceiveFrom (Байт [], SocketFlags, EndPoint) | Получает дейтаграмму в буфер данных, используя указанный SocketFlags, и сохраняет конечную точку. |
ReceiveFromAsync (SocketAsyncEventArgs) | Начинает асинхронно получать данные от указанного сетевого устройства. |
ReceiveMessageFrom (Byte [], Int32, Int32, SocketFlags, EndPoint, IPPacketInformation) | Получает указанное количество байтов данных в указанное место буфера данных, используя указанные SocketFlags, и сохраняет информацию о конечной точке и пакете. |
ReceiveMessageFromAsync (SocketAsyncEventArgs) | Начинает асинхронно получать указанное количество байтов данных в указанное место в буфере данных, используя указанные SocketFlags, и сохраняет информацию о конечной точке и пакете. |
Выберите (IList, IList, IList, Int32) | Определяет состояние одного или нескольких сокетов. |
Отправить (Байт []) | Отправляет данные в подключенное гнездо. |
Отправить (Байт [], Int32, Int32, SocketFlags) | Отправляет указанное количество байтов данных в подключенный Socket, начиная с указанного смещения и используя указанные SocketFlags. |
Отправить (Byte [], Int32, Int32, SocketFlags, SocketError) | Отправляет указанное количество байтов данных в подключенный Socket, начиная с указанного смещения и используя указанный SocketFlags |
Отправить (Byte [], Int32, SocketFlags) | Отправляет указанное количество байтов данных в подключенный Socket, используя указанные SocketFlags. |
Отправить (Байт [], SocketFlags) | Отправляет данные в подключенный Socket, используя указанные SocketFlags. |
Отправить (IList | Отправляет набор буферов из списка в подключенный Socket. |
Отправить (IList | Отправляет набор буферов из списка в подключенный Socket, используя указанные SocketFlags. |
Отправить (IList | Отправляет набор буферов из списка в подключенный Socket, используя указанные SocketFlags. |
Отправить (ReadOnlySpan | Отправляет данные в подключенное гнездо. |
Отправить (ReadOnlySpan | Отправляет данные в подключенный Socket, используя указанные SocketFlags. |
Отправить (ReadOnlySpan | Отправляет данные в подключенный Socket, используя указанные SocketFlags. |
SendAsync (SocketAsyncEventArgs) | Асинхронно отправляет данные подключенному объекту Socket. |
SendFile (строка) | Отправляет файл |
SendFile (String, Byte [], Byte [], TransmitFileOptions) | Отправляет файл |
SendPacketsAsync (SocketAsyncEventArgs) | Асинхронно отправляет набор файлов или буферов данных в памяти подключенному объекту Socket. |
SendTo (Байт [], Конечная точка) | Отправляет данные в указанную конечную точку. |
SendTo (Байт [], Int32, Int32, SocketFlags, EndPoint) | Отправляет указанное количество байтов данных в указанную конечную точку, начиная с указанного места в буфере и используя указанные SocketFlags. |
SendTo (Байт [], Int32, SocketFlags, EndPoint) | Отправляет указанное количество байтов данных в указанную конечную точку, используя указанные SocketFlags. |
SendTo (Байт [], SocketFlags, EndPoint) | Отправляет данные в конкретную конечную точку, используя указанные SocketFlags. |
SendToAsync (SocketAsyncEventArgs) | Асинхронно отправляет данные на конкретный удаленный хост. |
SetIPProtectionLevel (IPProtectionLevel) | Установите уровень защиты IP на розетке. |
SetRawSocketOption (Int32, Int32, ReadOnlySpan <байт>) | Устанавливает значение параметра сокета, используя идентификаторы уровня и имени для конкретной платформы. |
SetSocketOption (SocketOptionLevel, SocketOptionName, Boolean) | Устанавливает для указанной опции Socket заданное логическое значение. |
SetSocketOption (SocketOptionLevel, SocketOptionName, Byte []) | Устанавливает для указанной опции Socket указанное значение, представленное в виде массива байтов. |
SetSocketOption (SocketOptionLevel, SocketOptionName, Int32) | Устанавливает для указанной опции Socket заданное целочисленное значение. |
SetSocketOption (SocketOptionLevel, SocketOptionName, Объект) | Устанавливает для указанной опции Socket указанное значение, представленное как объект. |
Завершение работы (SocketShutdown) | Отключает отправку и получение в Socket. |
Нанизывать() | Возвращает строку, представляющую текущий объект. (Унаследовано от Object) |
IDisposable.Dispose () | Этот API поддерживает инфраструктуру продукта и не предназначен для использования непосредственно из вашего кода. Освобождает все ресурсы, используемые Socket. |
AcceptAsync (сокет) | Выполняет асинхронную операцию, чтобы принять попытку входящего подключения к сокету. |
AcceptAsync (сокет, сокет) | Выполняет асинхронную операцию, чтобы принять попытку входящего подключения к сокету. |
ConnectAsync (сокет, конечная точка) | Устанавливает соединение с удаленным хостом. |
ConnectAsync (Socket, EndPoint, CancellationToken) | Устанавливает соединение с удаленным хостом. |
ConnectAsync (сокет, IP-адрес, Int32) | Устанавливает соединение с удаленным хостом. Хост определяется IP-адресом и номером порта. |
ConnectAsync (Socket, IPAddress, Int32, CancellationToken) | Устанавливает соединение с удаленным хостом, который определяется IP-адресом и номером порта. |
ConnectAsync (Socket, IPAddress [], Int32) | Устанавливает соединение с удаленным хостом. Хост определяется массивом IP-адресов и номером порта. |
ConnectAsync (Socket, IPAddress [], Int32, CancellationToken) | Устанавливает соединение с удаленным хостом, который определяется массивом IP-адресов и номером порта. |
ConnectAsync (сокет, строка, Int32) | Устанавливает соединение с удаленным хостом.Хост определяется именем хоста и номером порта. |
ConnectAsync (Socket, String, Int32, CancellationToken) | Устанавливает соединение с удаленным хостом, который определяется именем хоста и номером порта. |
ReceiveAsync (Socket, ArraySegment | Получает данные из подключенного сокета. |
ReceiveAsync (Socket, IList | Получает данные из подключенного сокета. |
ReceiveAsync (Socket, Память <Байт>, SocketFlags, CancellationToken) | Получает данные из подключенного сокета. |
ReceiveFromAsync (Socket, ArraySegment | Получает данные от указанного сетевого устройства. |
ReceiveMessageFromAsync (Socket, ArraySegment | Получает указанное количество байтов данных в указанное место буфера данных, используя указанные SocketFlags, и сохраняет информацию о конечной точке и пакете. |
SendAsync (Socket, ArraySegment | Отправляет данные в подключенный сокет. |
SendAsync (Socket, IList | Отправляет данные в подключенный сокет. |
SendAsync (Socket, ReadOnlyMemory | Отправляет данные в подключенный сокет. |
SendToAsync (Socket, ArraySegment | Асинхронно отправляет данные на конкретный удаленный хост. |
404 - Не найдено - Hilti USA
404 - Не найдено - Hilti USA Перейти к основному содержаниюСтраница, к которой вы пытаетесь получить доступ, не существует
Это может быть потому, что
- Страница удалена.
Если вы использовали закладку, рекомендуем обновить ссылку. - Также возможно, что в ссылке есть опечатка.
Пожалуйста, попробуйте следующие варианты
- Воспользуйтесь функцией поиска, чтобы найти то, что вы искали.
- Используйте нашу главную навигацию для доступа к информации о наших продуктах и услугах.
- Начните просматривать нашу домашнюю страницу.
Зарегистрируйтесь здесь
Выполняйте работу быстрее онлайн.
Воспользуйтесь всеми преимуществами использования веб-сайта Hilti.
Не можете войти в систему или забыли пароль?
Пожалуйста, введите свой адрес электронной почты ниже. Вы получите инструкции по созданию нового пароля.
Нужна помощь? Связаться с намиЗарегистрируйтесь здесь
Выполняйте работу быстрее онлайн.
Воспользуйтесь всеми преимуществами использования веб-сайта Hilti.
Выберите следующий шаг для продолжения
Ошибка входа
К сожалению, мы не можем войти в систему.
Используемый вами адрес электронной почты не зарегистрирован для {0}, но был зарегистрирован для другого веб-сайта Hilti.
Обновление количества
Обратите внимание, объем заказа обновлен.Это связано с упаковкой и минимальным объемом заказа.
Обратите внимание, что объем заказа был обновлен до. Это связано с упаковкой и минимальным объемом заказа.
Светильники и патроны для ламп | Принадлежности для антикварных ламп
Патрон лампы должен быть долговечным, прочным, без ржавчины и безопасным.Лампы и патроны должны быть одной из самых выносливых частей ваших ламп или фонарей, но это может произойти. Человеческая ошибка при слишком сильном завинчивании лампочки, и наружные розетки часто борются с ветром, погодой и прочим, что приводит к ухудшению качества, которое вы сначала можете не заметить.
При настройке собственных ламп или восстановлении любимой старинной или старинной копии лампы, соответствие патрона лампы является такой же важной деталью, как и предотвращение износа.
Контакты внутри световой розетки могут погнуться и сломаться, а розетки, которые не работают должным образом, могут обесцветиться.В антикварных лампах иногда оригинальные патроны становятся устаревшими. Стандарты безопасности с годами изменились, и светодиодные лампы в устаревших розетках просто не работают должным образом, что приводит к более быстрому перегоранию и частой потере денег при замене ламп.
Патроны для ламп с зеленым оксидом меди не обладают такой проводимостью, что приводит к проблемам с производительностью или, что еще хуже, к безопасности. Неправильная установка и неплотная посадка также могут привести к нагреву из-за плохой проводимости, изоляция и правильные розетки могут исправить и предотвратить это.
Обладая более чем 40-летним опытом в области освещения старинных реплик, замен и запчастей, Antique Lamp Supply может предложить вам огромный выбор функциональных, а также потрясающе великолепных светильников или патронов для ламп, чтобы поддерживать ваши красивые светильники в соответствии со стандартами безопасности без ущерба для твой любимый образ.
В наших обширных категориях представлены патроны, патроны и розетки практически для любого внутреннего (и даже некоторого внешнего) освещения. Все патроны для ламп классифицируются в широком смысле по размеру, например, по среднему основанию, также известному как E-26, и по типам применения: свечи, светильники и лампы.Легкий поиск по нашим категориям приведет вас к тому патрону, который не только подойдет вам, но и сделает это с максимальной заботой о безопасности и стиле всех ваших проектов.
Нажмите на наши краткие фотографии продукта, чтобы получить более подробную информацию, размеры и многое другое!
определение сокетов по The Free Dictionary
Мы взяли обручи и стали бросать их в отведенные для них гнезда. Мы повесили его с пряничными зверюшками, нитками попкорна и кусочками свечей, которые Фукс вставил в картонные гнезда.Его настоящее великолепие, однако, исходило из самого неожиданного места в мире - из ковбойского хобота Отто. Вскоре я увидел огромные глаза моего зверя, полностью выпученные из орбит, и кровь, текущую из его ноздрей. Впалые щеки стали еще более выраженными. ужасно рядами блестящих зубов, которые торчали между губ, в то время как глазницы, заполненные овальными кусочками перламутра с черным пятном в центре, усиливали отвратительный вид. Всадники спешились и вместе с пешими людьми, без промедления схватив Санчо и Дон Кихота телесно, вынесли их во двор, вокруг которого горело около сотни установленных в розетках факелов, не считая более пятисот ламп. в коридорах, так что, несмотря на темную ночь, недостаток дневного света не ощущался.Бесчисленные мрачные окна, пустые и заброшенные, слепо смотрели из-под своих мраморных стен; весь печальный город приобретает подобие разбросанных курганов выбеленных солнцем черепов мертвецов - оконные рамы, имеющие вид безглазых глазниц, порталы, ухмыляющиеся челюсти. Его голова была тяжелой, его глаза почти выскакивали из орбит, и он тяжело упал на пол своей камеры, бормоча: - Казалось, он что-то искал, хотя глаза его не двигались в орбитах. Интересно, ходит ли он когда-нибудь во сне.Сняв платье и белый платок, она вытащила ключ из большого кармана, который висел за пределами ее нижней юбки, и, открыв один из нижних ящиков сундука, достала из него две короткие восковые свечи, тайно купленные в Треддлстоне. - и воткнул их в два латунных гнезда. Затем она вытащила связку спичек и зажгла свечи; и, наконец, маленькое шиллинговое зеркало в красной рамке, без пятен. Кто-нибудь болен в доме? »Глаза Нуартье, казалось, вырвались из орбит.«В чем дело? Трупные лица были скрыты за кулаками, которые медленно скручивались в глазницах. Солдаты почти закончили перезарядку; металлические шомполы сразу вспыхнули на солнышке, когда их вытаскивали из бочек. воздух, и воткнулся в свои глазницы.Два часовых снова открыли огонь, независимо и безрезультатно. Сеть- Что такое сокет?
Что это такое?
Розетка, или «розетка» может быть несколькими вещами:
Прежде всего, это модель мышления и интерфейс прикладного программирования (API) .Это означает, что у вас есть набор правил, которым вы должны следовать, и набор функций, которые вы можете использовать для написания программ, которые что-то делают в соответствии с точно указанным контрактом. В данном конкретном случае что-то означает обмен данными с другой программой.
API сокетов широко абстрагирует детали «коммуникации» в целом. Он инкапсулирует, с кем и как вы разговариваете, через одну (почти) последовательную и идентичную форму для формования печенья.
Вы можете создавать сокеты в разных «доменах» (например, e.г. «сокет unix» или «интернет-сокет») и различных типов связи (например, сокет «дейтаграмма» или сокет «поток») и общение с разными получателями, и все работает точно так же (ну, 99%, очевидно, есть незначительные различия, которые вам придется учитывать).
Вам не нужно знать (и вы даже не хотите знать!), Разговариваете ли вы с другой программой на том же компьютере или на другом компьютере, и есть ли между этими компьютерами сеть IPv4 или IPv6, или, может быть, некоторые другой протокол, о котором вы никогда не слышали.
socket
- это также имя библиотечной функции (или syscall), которая создает «сокет », который является файлом особого типа (все в Unix - это файл).
Как это сравнить с ...
розетки относятся к той же категории, что и трубы, и именные трубы
Канал - это средство односторонней связи между считывателем и записывающим устройством (оба являются программами) на одном компьютере. Он имитирует поток данных (точно так же, как e.г. TCP).
То есть, с точки зрения канала не существует отдельных «сообщений» или «блоков данных». Вы можете скопировать любой объем данных на «один конец», и кто-то другой может прочитать любой объем данных (не обязательно одинаковый и не обязательно за один раз) на «другом конце» в том же порядке байтов, что и вы. толкнул.
Канал с именем - это просто канал , которому принадлежит имя в файловой системе . То есть это что-то, что выглядит и ведет себя так же, как файл, оно отображается в списке каталогов, и вы можете открывать его, записывать в него и т. Д. И т. Д.Обратите внимание, что вы также можете создавать специальные файлы сокетов (это будет именованный сокет).
Сокет, с другой стороны, является средством двухсторонней связи («дуплекс»), что означает, что вы можете писать и читать из одного и того же сокета, и вам не нужны два отдельных сокета для двусторонней коммуникация.
Кроме того, сокет может действовать как поток (идентичный каналу), или он может отправлять дискретные, ненадежные сообщения, или он может отправлять дискретные, упорядоченные сообщения (первые два работают в любом домене, последний - только в «unix domain ").Он может отправлять сообщения (или имитировать поток) кому-то на совершенно другом компьютере. При определенных условиях сокет может даже выполнять форму связи «один ко многим» (многоадресную рассылку).
Имея это в виду, ясно, что сокеты делают что-то намного более сложное, и обычно имеют больше накладных расходов, чем каналы (которые в основном представляют собой не более чем простой memcpy
в и из буфера!), Но если вы создаете локальный сокетов (то есть на том же компьютере), операционная система обычно применяет сильно оптимизированный быстрый путь, так что на самом деле нет большой разницы.
межпроцессное взаимодействие иногда упоминается в отношении сетей
Да, сокеты - это один из возможных способов межпроцессного взаимодействия (общая память и каналы являются примерами альтернатив).