Как подсоединить блок розеток


как подключить, специфика и схемы установки

Там, где необходимо подключить взаимодействующую группу бытовой техники, устанавливается блок розеток, включающий от двух до четырех электрических точек. Установка и подключение этого варианта отличается от тех же действий с обычной розеткой. Чтобы результат радовал надежностью, нужно знать тонкости. Согласны?

Мы подробно расскажем, как подключают блок розеток, какие варианты подключения с учетом потребителей существуют. У нас вы узнаете, какие правила монтажа стоит учитывать при установке подобного модульного устройства. Представленные к рассмотрению сведения опираются на ПУЭ.

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

Содержание статьи:

Устройство и места установки розеточных блоков

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

Большинство современных моделей оснащены заземляющими контактами, которые призваны повышать безопасность системы и снижать напряжение со всех подключенных через блок электроприборов.

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

Розеточные блоки бывают двух типов:

  • Предназначены для скрытой проводки. Устанавливаются в толщу стены с помощью модуля из выполненных в форме стаканов подрозетников;
  • Предназначены для открытой проводки. Устанавливаются на поверхность стены с помощью выполненного в форме пластины подрозетника.

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

Розеточные блоки часто , располагая их за рабочим столом на высоте в 10 см, внутри кухонных тумб и за стенками соседних тумбочек на уровне 30-60 см от чистового пола.  Встроенные розетки удобно использовать при подключении группы не мощных бытовых приборов: вытяжки, мультиварки, холодильника…

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

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

Способы подключения с учетом потребителей

Подключение блока розеток одной группы осуществляют . Он предполагает присоединение всех элементов группы к общей питающей линии электропроводки. Созданная шлейфовым способом цепь рассчитана на нагрузку, показатель которой не превышает 16А.

Единственным «минусом» такой схемы является то, что в случае повреждения в месте контакта одной из жил перестают функционировать и все расположенные за ней элементы

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

Параллельное подключение предполагает прокладку от распределительной коробки двух кабелей:

  • первый направляется в виде шлейфа, запитывая четыре из пяти розеток 5-местного блока;
  • второй – подводится отдельно к пятой точке розеточной группы, которая предназначена будет для запитки мощного прибора.

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

Главное достоинство комбинированного способа – в обеспечении максимальной степени безопасности, что особо актуально при эксплуатации мощных и дорогостоящих приборов

Единственный недостаток схемы – увеличение расхода кабеля и затрат труда электромонтажника.

Как шлейфовый, так и комбинированный способ подключения может быть закрытого и открытого исполнения. Первый предполагает выдалбливание каналов в стене для прокладки линий и «гнезд» под разъемы, второй реализуется путем прокладки РЕ проводника на поверхности стены.

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

Применение пластиковых кабель-каналов повышает безопасность и эстетичность открытой проводки. Большинство из них снабжено перегородками, между которыми и прокладывают линию. Контроль за состоянием РЕ проводника удобно осуществлять через съемную переднюю часть.

Инструкция по монтажу розеточного блока

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

Планируете ли штробить бетон в панельном доме или ограничитесь установкой накладного блока при открытой проводке – решать вам.

Проведение подготовительных работ

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

После отключения автомата в электрощите в обязательном порядке следует убедиться, что нет напряжения, используя для этого индикаторную отвертку

В домах старой постройки, где не установлены автоматы, чтобы обесточить помещение нужно лишь выкрутить пробки.

Из материалов необходимо заранее подготовить:

  • розеточный блок;
  • декоративную планку;
  • провода для перемычек;
  • кабель для проводки;
  • подрозетники, соединяющиеся в блоки;
  • гипс или алебастр.

Выбор розеточного блока должен основываться на качестве изделия, а также возможности отдельного подключения РЕ проводников.

Из инструментов потребуются:

  • перфоратор, оснащенный бурильной коронкой D 70 мм;
  • строительный уровень;
  • рулетка, линейка и маркер;
  • электромонтажный набор инструментов;
  • емкость для замешивания гипса;
  • шпатель.

Выбор коронки для перфоратора зависит от материала, с которым приходится работать. Насадки для гипсокартона или того же бетона различаются по эксплуатационным параметрам и, соответственно, по цене.

Нанесение разметки на стену

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

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

Галерея изображений

Фото из

Шаг 1 - выбор места установки блока подрозетников

Шаг 2 - использование лазерного или пузырькового уровня

Шаг 3 - обозначение на стене точек монтажа розеток

Шаг 4 - определение точного места посадки каждого подрозетника

В центре будущих отверстий удаляют углубления. Важно следить, чтобы направляющее сверло бурильной коронки не «уходило» в сторону. Маленькая хитрость: поскольку при создании розеточного блока довольно сложно добиться горизонтальности расположения отверстий, для работы можно использовать коронку чуть большего размера диаметром в 80 мм.

Расстояние между центрами подрозетников должно соответствовать 72 мм, иначе при установке декоративной крышки она просто не «сядет» на свое место

Чтобы при скрытой прокладке кабеля впоследствии избежать ошибочного просверливания отверстий, на этапе монтажа лучше сделать чертеж, в котором отобразить расположение проводов.

Способы устройства разводки и прокладки кабеля в квартире подробно изложены в нашего сайта.

Создание штроб и «посадочных» мест

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

Чтобы обеспечить точность монтажа, отверстие сначала намечают сверлом небольшого диаметра. Лишь после этого насаживают коронку, которая делает углубление по контуру будущего «посадочного» места.

Чтобы установить розеточную группу в бетонной или кирпичной стене, необходимо сначала сформировать контуры с помощью коронки, а затем с помощью зубила и молотка изъять середину

Оставшийся в отверстиях стенной материал выдалбливают перфорированным зубилом. После этого между отверстиями прокладывают канавки, необходимые для соединительных выступов .

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

Все отверстия и канавы вычищают от раздробленных кусочков и пыли с помощью кисточки или хлопчатобумажной салфетки. В дальнейшем для защиты РЕ проводника и удобства прокладывания кабель лучше запускать в гофрорукаве.

Если под рукой нет перфоратора – смело используйте болгарку; оснастив прибор алмазным диском, вы сможете при минимуме усилий создать идеально ровные контуры канавок

При желании штробление стен можно выполнить и «дедовским» способом с применением зубила и молотка. Но будьте готовы, что на реализацию этого способа понадобится больше сил и времени. Да и делать углубления зубилом в кирпиче под прокладку кабеля – непростая задача, которая не всегда дает опрятный желаемый результат.

Намного проще работать с гипсокартонной основой. Чтобы сделать посадочные места необходимо лишь с помощью насадки по гипсокартону согласно разметке вырезать круглые штробы. Главное – сильно не нажимать, чтобы не сломать хрупкую основу.

Специфика крепления подрозетников

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

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

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

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

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

Убедившись в правильности положения подрозетников, края замазывают жидким раствором, придавая плоскости максимально ровную поверхность. Остатки алебастра или гипса можно использовать на маскирование проложенного к розетке провода.

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

Монтажные стаканы для гипсокартона дополнительно оснащены специальными лапками. Посредством прижимания к обратной стороне поверхности плиты эти лапки затягивают стакан в отверстие.

Заглубленные в стену подрозетники не должны упираться и выступать за ее пределы. В случае если промежуток между стеной и гипсокартонной плитой недостаточный для размещения подрозетника, отверстие в стене дополнительно углубляют.

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

Тонкости подключения электрики

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

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

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

Главное – не допускать резкий изгиб или перелом, чем нередко «грешат» неопытные хозяева, укладывая провода внутри стакана на “скорую руку”

Заранее подготавливают отрезы разноцветных проводов для создания перемычек. Сечение перемычек должно соответствовать проводниками питающей линии. Проводники перемычки не стоит делать слишком длинными. Иначе в процессе подключения они будут мешать и не позволять розетке плотно «сесть» в монтажную коробку. В отрезанных проводах также зачищают изоляцию приблизительно на сантиметр.

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

С самого розеточного блока снимают защитную крышку, затем на 5-6 мм откручивают зажимные винты. Зачищенный конец фазного провода питающего кабеля подводят к первой розетке с учетом положения клемм. От нее через контакты РЕ проводник и нулевые провода питающего кабеля направляют во вторую розетку.

Подключение остальных розеток осуществляют через перемычки, соединяющие механизмы устройств. Жилы с одинакового цвета оплеткой подключают согласно окраса: фаза – красного цвета, «ноль» – синего, а заземляющий проводник – зеленого

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

Чтобы жилы проводов надежно попадали в монтажные гнезда, перед установкой болты зажимом откручивают по максимуму, а после его завершения – возвращают в исходное положение

При подключении защитного проводника следует строго соблюдать основное требование ПУЭ, которое гласит, что все соединения этого провода должны быть неразборными. Недооценка важности качества монтажа чревата тем, что при опасном инциденте в разы увеличивается риск поражения электрическим током.

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

Для достижения максимальной надежности соединения проводов лучше использовать розетки, оснащенные не одним болтом, а двумя креплениями

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

После этого остается только «дожать» все саморезы, зафиксировать корпус в подрозетнике и установить на место декоративную крышку.

Пошаговая фотоинструкция:

Галерея изображений

Фото из

Шаг 1 - выведение и зачистка проводов

Шаг 2 - монтаж проводов в клеммы

Шаг 3 - установка корпуса в подрозетник

Шаг 4 - посадка корпуса на крепежные винты

Шаг 5 - монтаж последней в ряду розетки

Шаг 6 - выравнивание розеток по горизонтали

Шаг 7 - протяжка крепежа в "ушках"

Шаг 8 - монтаж декоративной крышки

Если блок подключен правильно, все розетки должны работать, а рамка с подрозетниками не двигаться при использовании.

Выводы и полезное видео по теме

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

Видео #1. Обустройство подрозетников для розеточной панели:

Видео #2. Инструкция по установке пятирозеточного блока:

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

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

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

В этой статье объясняется, как работать с сокетами и потоками сокетов на различных уровнях, от POSIX до Foundation.

Важно: В этой статье описываются способы создания соединений через сокеты, полностью контролируемые вашей программой. Большинство программ лучше обслуживаются высокоуровневыми API, такими как NSURLConnection . Чтобы узнать больше об этих высокоуровневых API, прочтите Обзор сети .

API, описанные в этой статье, следует использовать только в том случае, если вам необходимо поддерживать какой-либо протокол, отличный от протоколов, поддерживаемых встроенными функциями Cocoa или Core Foundation.

Практически на каждом уровне сети программное обеспечение можно разделить на две категории: клиенты (программы, которые подключаются к другим приложениям) и службы (программы, к которым подключаются другие приложения). На высоком уровне эти линии ясны. Большинство программ, написанных с использованием API высокого уровня, являются исключительно клиентами. Однако на более низком уровне линии часто размыты.

Программирование сокетов и потоков обычно попадает в одну из следующих широких категорий:

  • Связь на основе пакетов - программы, которые работают с одним пакетом за раз, прослушивая входящие пакеты, а затем отправляя пакеты в ответ.

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

  • Клиенты на основе потоков - программы, использующие TCP для отправки и получения данных в виде двух непрерывных потоков байтов, по одному в каждом направлении.

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

Эта глава разделена на разделы, основанные на перечисленных выше задачах:

Выбор семейства API

API, который вы выбираете для соединений на основе сокетов, зависит от того, выполняете ли вы соединение с другим хостом или получаете соединение от другого хост.Это также зависит от того, используете ли вы TCP или какой-либо другой протокол. Вот несколько факторов, которые следует учитывать:

  • В OS X, если у вас уже есть сетевой код, который используется совместно с платформами сторонних производителей, вы можете использовать сетевые API POSIX C и продолжать использовать свой сетевой код как есть (на отдельный поток). Если ваша программа основана на цикле выполнения Core Foundation или Cocoa (Foundation), вы также можете использовать API Core Foundation CFStream для интеграции сетевого кода POSIX в вашу общую архитектуру в основном потоке.В качестве альтернативы, если вы используете Grand Central Dispatch (GCD), вы можете добавить сокет в качестве источника отправки.

    В iOS использование сетей POSIX не рекомендуется, поскольку они не активируют сотовую радиосвязь или VPN по запросу. Таким образом, как правило, вы должны отделить сетевой код от любых общих функций обработки данных и переписать сетевой код, используя API более высокого уровня.

    Примечание: Если вы используете сетевой код POSIX, вы должны знать, что сетевой API POSIX не зависит от протокола (вы должны самостоятельно уладить некоторые различия между IPv4 и IPv6).Это API подключения по IP, а не API подключения по имени, что означает, что вам нужно проделать много дополнительной работы, если вы хотите достичь той же производительности и надежности при начальном подключении, которые предоставляют вам высокоуровневые API. бесплатно. Прежде чем вы решите повторно использовать существующий сетевой код POSIX, обязательно прочтите статью «Избегайте разрешения DNS-имен перед подключением к хосту» в Networking Overview .

  • Для демонов и служб, которые прослушивают порт, или для подключений, отличных от TCP, используйте сетевые API C POSIX или Core Foundation ( CFSocket ).

  • Для клиентского кода в Objective-C используйте сетевые API Foundation Objective-C. Foundation определяет классы высокого уровня для управления URL-соединениями, потоками сокетов, сетевыми службами и другими сетевыми задачами. Это также основная среда Objective-C, не связанная с пользовательским интерфейсом, в OS X и iOS, предоставляющая процедуры для циклов выполнения, обработки строк, объектов коллекции, доступа к файлам и т. Д.

  • Для клиентского кода на C используйте сетевые API-интерфейсы Core Foundation C. Фреймворк Core Foundation и фреймворк CFNetwork являются двумя основными фреймворками языка C в OS X и iOS.Вместе они определяют функции и структуры, на которых построены сетевые классы Foundation.

    Примечание: В OS X CFNetwork является подфреймворком структуры Core Services; в iOS CFNetwork - это фреймворк верхнего уровня.

Написание клиента на основе TCP

Способ создания исходящего соединения зависит от того, какой язык программирования вы используете, от типа соединения (TCP, UDP и т. Д.) И от того, пытаетесь ли вы делиться кодом с другими платформами (не Mac и iOS).

  • Используйте NSStream для исходящих соединений в Objective-C.

    Если вы подключаетесь к определенному хосту, создайте объект CFHost (, а не , NSHost - они не соединены бесплатным мостом), затем используйте CFStreamCreatePairWithSocketToHost или CFStreamCreatePair8, подключенный к сокету opencreatePair8 хост и порт и свяжите с ним пару объектов CFStream . Затем вы можете преобразовать их в объект NSStream .

    Вы также можете использовать функцию CFStreamCreatePairWithSocketToNetService с объектом CFNetServiceRef для подключения к службе Bonjour. Прочтите Обнаружение и Рекламу сетевых услуг в Обзор сети для получения дополнительной информации.

    Примечание: Метод getStreamsToHost: port: inputStream: outputStream: для NSNetService недоступен в iOS и не рекомендуется в OS X по соображениям производительности. В частности, NSNetService требует, чтобы вы создали экземпляр NSHost .При создании объекта поиск выполняется синхронно. Таким образом, создавать объект NSHost в основном потоке приложения небезопасно. Подробнее см. NSNetService и Автоматический подсчет ссылок (ARC) .

  • Используйте CFStream для исходящих соединений в C.

    Если вы пишете код, который не может включать Objective-C, используйте CFStream API. Он легче интегрируется с другими API-интерфейсами Core Foundation, чем CFSocket , и включает сотовое оборудование на iOS (где применимо), в отличие от API нижнего уровня.Вы можете использовать CFStreamCreatePairWithSocketToHost или CFStreamCreatePairWithSocketToCFHost , чтобы открыть сокет, подключенный к данному хосту и порту, и связать с ним пару объектов CFStream .

    Вы также можете использовать функцию CFStreamCreatePairWithSocketToNetService для подключения к службе Bonjour. Прочтите Обнаружение и Рекламу сетевых услуг в Обзор сети для получения дополнительной информации.

  • Используйте вызовы POSIX, если требуется кроссплатформенная переносимость.

    Если вы пишете сетевой код, который работает исключительно в OS X и iOS, вам обычно следует избегать сетевых вызовов POSIX, потому что с ними труднее работать, чем с API более высокого уровня. Однако, если вы пишете сетевой код, который должен использоваться совместно с другими платформами, вы можете использовать сетевые API POSIX, чтобы вы могли использовать один и тот же код везде.

    Никогда не используйте синхронные сетевые API POSIX в основном потоке приложения с графическим интерфейсом. Если вы используете синхронные сетевые вызовы в приложении с графическим пользовательским интерфейсом, вы должны делать это в отдельном потоке.

    Примечание. Сеть POSIX не активирует сотовую радиосвязь на iOS. По этой причине использование сетевого API POSIX в iOS обычно не рекомендуется.

В подразделах ниже описывается использование NSStream . Если не указано иное, API CFStream имеет функции с похожими именами и ведет себя аналогичным образом.

Чтобы узнать больше об API сокетов POSIX, прочтите FAQ по UNIX Socket на http://developerweb.net/.

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

Как правило, для установления TCP-соединения с удаленным хостом рекомендуется использовать потоки.Потоки автоматически решают многие проблемы, возникающие при TCP-соединениях. Например, потоки предоставляют возможность подключения по имени хоста, а в iOS они автоматически активируют сотовый модем устройства или VPN по запросу, когда это необходимо (в отличие от CFSocket или сокетов BSD). Потоки также являются более похожим на Какао сетевым интерфейсом, чем протоколы более низкого уровня, и ведут себя таким образом, который в значительной степени совместим с API потокового файла Какао.

Способ получения входных и выходных потоков для хоста зависит от того, использовали ли вы обнаружение служб для обнаружения хоста:

После получения входных и выходных потоков, вы должны немедленно сохранить их, если вы не используете автоматический подсчет ссылок .Затем приведите их к объектам NSInputStream и NSOutputStream , установите их объекты-делегаты (которые должны соответствовать протоколу NSStreamDelegate ), запланируйте их в текущем цикле выполнения и вызовите их методы open .

Примечание: Если вы работаете с более чем одним подключением одновременно, вы также должны отслеживать, какой входной поток связан с данным выходным потоком и наоборот. Самый простой способ сделать это - создать собственный объект подключения, содержащий ссылки на оба потока, а затем установить этот объект в качестве делегата для каждого потока.

Обработка событий

Когда метод stream: handleEvent: вызывается для делегата объекта NSOutputStream , а значение параметра streamEvent равно NSStreamEventHasSpaceAvailable , вызовите write: maxLength: data: send. Этот метод возвращает количество записанных байтов или отрицательное число в случае ошибки. Если было записано меньше байтов, чем вы пытались отправить, вы должны поставить в очередь оставшиеся данные и отправить их после повторного вызова метода делегата с событием NSStreamEventHasSpaceAvailable .В случае возникновения ошибки следует позвонить по номеру streamError , чтобы выяснить, что пошло не так.

Когда метод stream: handleEvent: вызывается в делегате объекта NSInputStream и значение параметра streamEvent равно NSStreamEventHasBytesAvailable , ваш входной поток получил данные, которые вы можете прочитать с помощью : 9000engthread: max8L метод. Этот метод возвращает количество прочитанных байтов или отрицательное число в случае ошибки.

Если было прочитано меньше байтов, чем необходимо, вы должны поставить данные в очередь и дождаться получения другого события потока с дополнительными данными.В случае возникновения ошибки следует позвонить по номеру streamError , чтобы выяснить, что пошло не так.

Если другой конец соединения закрывает соединение:

  • Вызывается метод stream: handleEvent: вашего делегата соединения с streamEvent , установленным на NSStreamEventHasBytesAvailable . Когда вы читаете из этого потока, вы получаете нулевую длину ( 0 ).

  • Вызывается метод stream: handleEvent: вашего делегата соединения с streamEvent , установленным на NSStreamEventEndEncountered .

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

Закрытие соединения

Чтобы закрыть соединение, отмените его расписание из цикла выполнения, установите делегат соединения на nil (делегат не удерживается), закройте оба связанных потока с помощью метода close , а затем отпустите сами потоки (если вы не используете ARC) или установите для них значение nil (если вы используете).По умолчанию это закрывает базовое соединение сокета. Однако есть две ситуации, в которых вы должны закрыть его самостоятельно:

Для получения дополнительной информации

Чтобы узнать больше, прочтите Настройка потоков сокетов в Руководстве по программированию потоков , Использование NSStreams для TCP-соединения без NSHost или см. проекты примеров кода SimpleNetworkStreams и RemoteCurrency .

Создание сервера на основе TCP

Как упоминалось ранее, сервер и клиент становятся похожими после установления соединения.Основное отличие состоит в том, что клиенты устанавливают исходящие соединения, тогда как серверы создают прослушивающий сокет (иногда прослушивающий сокет) - сокет, который прослушивает входящие соединения, а затем принимают соединения на этом сокете. После этого каждое результирующее соединение ведет себя так же, как соединение, которое вы можете установить в клиенте.

API, который следует выбрать для своего сервера, зависит в первую очередь от того, пытаетесь ли вы поделиться кодом с другими платформами (не Mac и iOS). Есть только два API, которые обеспечивают возможность прослушивания входящих сетевых подключений: API сокетов Core Foundation и API сокетов POSIX (BSD).API более высокого уровня нельзя использовать для приема входящих подключений.

  • Если вы пишете код исключительно для OS X и iOS, используйте сетевые вызовы POSIX для настройки сетевых сокетов. Затем используйте GCD или CFSocket для интеграции сокетов в цикл выполнения.

  • Используйте чистый сетевой код POSIX с циклом выполнения на основе POSIX ( выберите ), если требуется кроссплатформенная переносимость с платформами сторонних производителей.

    Если вы пишете сетевой код, который работает исключительно в OS X и iOS, вам обычно следует избегать сетевых вызовов POSIX, потому что с ними труднее работать, чем с API более высокого уровня.Однако, если вы пишете сетевой код, который должен использоваться совместно с другими платформами, вы можете использовать сетевые API POSIX, чтобы вы могли использовать один и тот же код везде.

  • Никогда не используйте NSSocketPort или NSFileHandle для общей связи через сокеты. Дополнительные сведения см. В разделе «Не использовать NSSocketPort (OS X)» или «NSFileHandle для общей связи через сокеты» в Networking Overview .

В следующих разделах описывается, как использовать эти API для прослушивания входящих подключений.

Прослушивание с помощью Core Foundation

Чтобы использовать API Core Foundation для прослушивания входящих подключений, необходимо сделать следующее:

  1. Добавить соответствующие include:

     #include  
     #include  
     #include  
.

сокетов на C #: как получить поток ответа?

Переполнение стека
  1. Около
  2. Продукты
  3. Для команд
  1. Переполнение стека Общественные вопросы и ответы
  2. Переполнение стека для команд Где разработчики и технологи делятся частными знаниями с коллегами
.Сокет

- сетевой интерфейс низкого уровня - документация Python 3.8.6

Исходный код: Lib / socket.py


Этот модуль обеспечивает доступ к интерфейсу сокета BSD . Он доступен на все современные системы Unix, Windows, MacOS и, возможно, дополнительные платформы.

Примечание

Некоторое поведение может зависеть от платформы, поскольку звонки выполняются в операционную API системных сокетов.

Интерфейс Python представляет собой прямую транслитерацию системы Unix. вызов и интерфейс библиотеки для сокетов в объектно-ориентированном стиле Python: Функция socket () возвращает объект сокета , методы которого реализуют различные системные вызовы сокетов.Типы параметров несколько выше, чем в интерфейсе C: как с операциями read () и write () на Python файлы, распределение буфера при операциях приема выполняется автоматически, а длина буфера неявно используется в операциях отправки.

См. Также

Модуль socketserver

Классы, упрощающие запись сетевых серверов.

Module ssl

Оболочка TLS / SSL для объектов сокета.

Семейства розеток

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

Формат адреса, требуемый конкретным объектом сокета, автоматически выбрано на основе семейства адресов, указанного, когда объект сокета был создан. Адреса сокетов представлены следующим образом:

  • Адрес сокета AF_UNIX , привязанного к узлу файловой системы представлен в виде строки с использованием кодировки файловой системы и 'surrogateescape' обработчик ошибок (см. PEP 383 ).Адрес в Абстрактное пространство имен Linux возвращается как байтовый объект с начальный нулевой байт; обратите внимание, что сокеты в этом пространстве имен могут взаимодействовать с обычными сокетами файловой системы, поэтому программы, предназначенные для при запуске в Linux может потребоваться иметь дело с обоими типами адресов. Строка или байтовый объект может использоваться для любого типа адреса, когда передавая это как аргумент.

    Изменено в версии 3.3: Раньше предполагалось, что пути сокетов AF_UNIX используют UTF-8 кодирование.

  • Пара (хост, порт) используется для семейства адресов AF_INET , где host - это строка, представляющая либо имя хоста в Интернет-домене запись типа 'daring.cwi.nl' или адрес IPv4, например '100.50.200.5' , и порт - целое число.

    • Для адресов IPv4 вместо хоста принимаются две специальные формы адрес: '' представляет INADDR_ANY , который используется для привязки ко всем интерфейсов, а строка '' представляет ИНАДДР_БРОАДКАСТ .Такое поведение несовместимо с IPv6, поэтому вы можете захотеть избежать этого, если намерены поддерживать IPv6 с помощью своего Программы на Python.

  • Для семейства адресов AF_INET6 , четыре кортежа (хост, порт, flowinfo, scopeid) , где flowinfo и scopeid представляют sin6_flowinfo и sin6_scope_id членов в структуре struct sockaddr_in6 в C. Для socket методы модуля, flowinfo и scopeid могут быть опущены только для Обратная совместимость.Обратите внимание, однако, что пропуск scopeid может вызвать проблемы. в манипулировании адресами IPv6 с заданной областью действия.

    Изменено в версии 3.7: Для многоадресных адресов (с scopeid значимым) адрес может не содержать % scope (или id зоны ) часть. Эта информация является излишней и может безопасно опустить (рекомендуется).

  • AF_NETLINK сокеты представлены парами (pid, groups) .

  • Поддержка TIPC только для Linux доступна с использованием AF_TIPC адрес семьи.TIPC - это открытый сетевой протокол, не основанный на IP, разработанный для использования в кластерных компьютерных средах. Адреса представлены кортеж, а поля зависят от типа адреса. Общая форма кортежа (addr_type, v1, v2, v3 [, scope]) , где:

    • addr_type является одним из TIPC_ADDR_NAMESEQ , TIPC_ADDR_NAME , или TIPC_ADDR_ID .

    • область действия является одним из TIPC_ZONE_SCOPE , TIPC_CLUSTER_SCOPE и ТИПС_НОД_СКОПЕ .

    • Если addr_type - это TIPC_ADDR_NAME , то v1 - это тип сервера, v2 - идентификатор порта, а v3 должно быть 0.

      Если addr_type - это TIPC_ADDR_NAMESEQ , то v1 - это тип сервера, v2 - это нижний номер порта, а v3 - это верхний номер порта.

      Если addr_type - TIPC_ADDR_ID , то v1 - это узел, v2 - это ссылка, а v3 должно быть установлено на 0.

  • Кортеж (интерфейс,) используется для семейства адресов AF_CAN , где interface - строка, представляющая имя сетевого интерфейса, например 'can0' . Имя сетевого интерфейса '' может использоваться для приема пакетов. со всех сетевых интерфейсов этого семейства.

    • Протокол CAN_ISOTP требует кортежа (интерфейс, rx_addr, tx_addr) где оба дополнительных параметра представляют собой длинное целое число без знака, которое представляет собой Идентификатор CAN (стандартный или расширенный).

  • Строка или кортеж (id, unit) используется для SYSPROTO_CONTROL протокол семейства PF_SYSTEM . Строка - это имя управление ядром с использованием динамически назначаемого идентификатора. Кортеж можно использовать, если ID и номер единицы управления ядром известны или если зарегистрированный идентификатор используемый.

  • AF_BLUETOOTH поддерживает следующие протоколы и адреса форматы:

    • BTPROTO_L2CAP принимает (bdaddr, psm) , где bdaddr - адрес Bluetooth в виде строки, а psm - целое число.

    • BTPROTO_RFCOMM принимает (bdaddr, канал) , где bdaddr - это адрес Bluetooth в виде строки, а канал , - целое число.

    • BTPROTO_HCI принимает (device_id,) , где device_id целое число или строка с адресом Bluetooth интерфейс. (Это зависит от вашей ОС; NetBSD и DragonFlyBSD ожидают адрес Bluetooth, в то время как все остальное ожидает целое число.)

      Изменено в версии 3.2: добавлена ​​поддержка NetBSD и DragonFlyBSD.

    • BTPROTO_SCO принимает bdaddr , где bdaddr - это байт объект, содержащий адрес Bluetooth в строковый формат. (например, b'12: 23: 34: 45: 56: 67 ') Этот протокол не поддерживается FreeBSD.

  • AF_ALG - это интерфейс ядра для сокета только для Linux. криптография. Сокет алгоритма настроен с кортежем от двух до четырех элементы (тип, имя [, feat [, маска]]) , где:

    • тип - тип алгоритма в виде строки, т.е.г. aead , хэш ,

.

c # - Как настроить таймаут подключения к сокету

Переполнение стека
  1. Около
  2. Продукты
  3. Для команд
  1. Переполнение стека Общественные вопросы и ответы
  2. Переполнение стека для команд Где разработчики и технологи делятся частными знаниями с коллегами
  3. Вакансии Программирование и связанные с ним технические возможности карьерного роста
  4. Талант Нанимайте технических специалистов и создавайте свой бренд работодателя
.

Смотрите также