Как называется розетка с тремя входами


Виды электрических розеток - подробный обзор

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

Разновидности разъемов розеток

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

Тип A

A – стандарт, который в свое время был повсеместно распространен на территории Северной Америки. Вслед за США его стали использовать в 38 странах. Данный тип представляет собой два незаземленных плоских контакта, расположенных параллельно. Заземляющий элемент в данном случае не предусмотрен. Сегодня такие устройства до сих пор можно увидеть во многих старых зданиях, поскольку все они совместимы с современным типом вилок. Определенные отличия имеет японский стандарт, предусматривающий дополнительные требования к параметрам корпусов изделий.

Тип B

B – усовершенствованный вариант американского стандарта, дополненный в нижней части конструкции длинным круглым контактом, обеспечивающим заземление. Помимо США, такие виды электрических розеток применяются в Канаде и Мексике. Кроме того, они встречаются в ряде стран Южной Америки, включая Колумбию, Эквадор и Венесуэлу.

Тип C

C – наиболее распространенный на территории Европы стандарт. Так называемая евророзетка, состоящая из двух круглых контактов, используется, в том числе, в СНГ, а также на Ближнем Востоке и в большинстве стран африканского континента. Заземление в данной конструкции отсутствует. В Российской Федерации размеры и требования по безопасности, предъявляемые к таким изделиям, определены ГОСТом 7396.

Тип D

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

Тип E

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

Тип F

F – европейский стандарт в виде конструкции из двух круглых контактов, дополненной сверху и снизу заземляющими скобами. Изначально такие устройства появились в Германии и начали использоваться для переменного тока. Данные типы розеток и вилок также называют «Schuko», что является сокращением от немецкого Schutzkontakt, в дословном переводе означающего «защитный контакт». Изделия вполне совместимы с вилками российского и советского производства.

Тип G

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

Тип H

H – израильский стандарт, представляющий собой три круглых контакта (до 1989 года использовались плоские элементы), образующих своим расположением латинскую букву Y. Данный тип подключения к электрической сети является уникальным, поскольку применяется исключительно в Израиле. Другие виды розеток и вилок с ним абсолютно несовместимы.

Тип I

I – стандарт, распространенный в Австралии и Новой Зеландии. Два плоских контакта установлены под углом. Третий вертикально расположен снизу и является заземляющим элементом. Подобные типы электрических розеток используются в Папуа-Новой Гвинее, а также в Республике Островов Фиджи.

Тип J

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

Тип K

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

Тип L

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

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

Технические характеристики розеток: напряжение и частота

Согласно европейским стандартам показатели напряжения в электросети обычно составляют 220-240 или 380В. Розетки, рассчитанные на 220 Вольт, обычно используют для подключения различных электрических приборов, мощность которых не превышает 3,5 кВт. Данное ограничение обусловлено неспособностью стандартных устройств, предназначенных для маломощной бытовой техники, справляться с силой тока, выходящей за пределы 16А.

Для более мощных электрических приборов рекомендуется использовать промышленные трехфазные розетки, в отношении которых допустимая сила тока составляет 32А. Такие изделия рассчитаны на напряжение 380В.

Кроме того, для разных видов розеток предусмотрена определенная частота переменного тока, показатели которой составляют 50 либо 60 Гц. Наиболее распространенный европейский стандарт, в том числе применяемый в России, рассчитан на первый вариант.

Какие бывают розетки по способу монтажа

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

Встроенные розетки

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

Накладные розетки

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

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

Переносные розетки

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

Количество используемых розеток в модульном блоке

Двойная розетка

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

Тройная розетка

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

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

Четверная розетка

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

Розетки с дополнительными функциями

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

Розетки со встроенным УЗО

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

Розетки со шторками

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

Розетки с крышками

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

Розетки с таймером

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

 

Розетки с электросчетчиком

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

Розетки с выталкивателем вилки

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

Розетки с подсветкой

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

Розетки с USB выходом

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

Розетка с модулем WiFi

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

Розетки специального назначения

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

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

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

Антенная розетка, оборудованная специальным разъемом, совместимым с наконечником кабеля телевизионной антенны.

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

Защитные свойства различных розеток

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

  • 0 – полное отсутствие защитных функций при открытом доступе к узлам оборудования;
  • 1 – ограничивается проникновение крупных твердых тел с размерами более 5 см. Не предполагается защита от прикосновения пальцев;
  • 2 – обеспечивается защита для пальцев рук, а также исключается попадание предмета размером от 1,25 см;
  • 3 – узлы устройства защищены от возможного контакта с электроинструментом и другими посторонними предметами, размер которых превышает 2,5 мм;
  • 4 – указывает на наличие защиты, предотвращающей попадание твердых частиц, имеющих размеры более 1 мм;
  • 5 – свидетельствует о частичной защите от пыли;
  • 6 – наиболее высокая степень защиты от попадания любых посторонних предметов, включая микроскопические частицы пыли.

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

  • 1 – вертикально падающие капли при попадании на оболочку не вызовут замыкания;
  • 2 – каплям, упавшим вертикально под углом не более 15 градусов, не удастся преодолеть оболочку;
  • 3 – защита предотвращает замыкание даже в тех случаях, когда капли воды падают под углом 60 градусов;
  • 4 – узлы оборудования надежно защищены от влаги, вне зависимости от направления движения брызг;
  • 5 – допускается попадание водной струи, не находящейся под давлением. Имеющие подобное обозначение устройства можно регулярно мыть;
  • 6 – оборудование способно выдерживать достаточно мощные направленные потоки воды;
  • 7 – допускается кратковременное погружение устройства в воду на глубину не более 1 метра;
  • 8 – разрешено погружение на значительную глубину;
  • 9 – абсолютная герметичность позволяет оборудованию функционировать под водой с неограниченной продолжительностью.

Маркировка стандарта «NEMA» используется для типов электрических розеток, произведенных в США и прошедших соответствующую сертификацию. Ниже указаны области использования устройств с различными показателями «NEMA»:

  • 1 – изделия предназначены для установки в бытовых и административных помещениях и предусматривают защиту от попадания грязи;
  • 2 – рассчитаны на бытовые помещения, где существует вероятность попадания влаги в минимальных количествах;
  • 3 – устройства, применяемые снаружи зданий в условиях повышенного пылеобразования, а также атмосферных осадков. Дополнительными характеристиками обладают модели «3R» и «3S»;
  • 4 и 4X – оборудование, способное противостоять разбрызгиваемой в результате движения автотранспорта грязи, а также устойчивое к агрессивным погодным условиям;
  • 6 и 6P – защитные функции обеспечивает герметичный корпус, благодаря которому устройство может находиться под водой на относительно небольшой глубине;
  • 11 – изделия преимущественно используются в местах, где постоянно происходят коррозийные процессы;
  • 12 и 12К – рассчитаны на помещения с повышенным уровнем пылеобразования;
  • 13 – отличаются особой стойкостью различным видам загрязнений, включая маслянистые вещества.

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

Если вы заметили ошибку, не рабочее видео или ссылку, пожалуйста, выделите фрагмент текста и нажмите Ctrl+Enter.

Что такое розетка? (Учебники по Java ™> Пользовательские сети> Все о сокетах)

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

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

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

На стороне клиента, если соединение принято, сокет успешно создан, и клиент может использовать сокет для связи с сервером.

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


Определение:

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


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

Пакет java.net на платформе Java предоставляет класс Socket , который реализует одну сторону двустороннего соединения между вашей программой Java и другой программой в сети. Класс Socket находится на вершине платформенно-зависимой реализации, скрывая детали любой конкретной системы от вашей программы Java.Используя класс java.net.Socket вместо того, чтобы полагаться на собственный код, ваши Java-программы могут обмениваться данными по сети независимо от платформы.

Кроме того, java.net включает класс ServerSocket , который реализует сокет, который серверы могут использовать для прослушивания и приема соединений с клиентами. В этом уроке показано, как использовать классы Socket и ServerSocket .

Если вы пытаетесь подключиться к Интернету, класс URL и связанные классы ( URLConnection , URLEncoder ), вероятно, более подходят, чем классы сокетов.Фактически, URL-адреса являются относительно высокоуровневым соединением с Интернетом и используют сокеты как часть базовой реализации. Видеть Работа с URL-адресами для получения информации о подключении к Интернету через URL-адреса.

.HOWTO по программированию сокетов

- документация Python 2.7.18

Автор

Гордон Макмиллан

Аннотация

Розетки используются почти везде, но являются одними из самых неправильно понятые технологии вокруг. Это обзор розеток на 10 000 футов. На самом деле это не учебник - вам еще нужно поработать, чтобы что-то получить оперативный. Он не затрагивает тонкости (а их очень много), но Я надеюсь, что это даст вам достаточно знаний, чтобы начать их прилично использовать.

Розетки

Я буду говорить только о сокетах INET, но они составляют не менее 99% используемые розетки. И я буду говорить только о розетках STREAM - если только вы знать, что вы делаете (в этом случае этот HOWTO не для вас!), вы получите лучшее поведение и производительность от сокета STREAM, чем что-либо еще. Я буду попытаться раскрыть тайну того, что такое сокет, а также дать несколько советов о том, как работа с блокирующими и неблокирующими розетками. Но я начну с разговора о блокировка розеток.Вам нужно знать, как они работают, прежде чем начинать неблокирующие розетки.

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

История

Из различных форм МПК , розетки на сегодняшний день являются самыми популярными. На любой платформе есть вероятно, будут другие формы IPC, которые быстрее, но для кроссплатформенное общение, сокеты - это почти единственная игра в городе.

Они были изобретены в Беркли как часть разновидности BSD Unix. Они распространяются как лесной пожар с Интернетом. Не зря - комбинация розеток. с INET делает разговор с произвольными машинами по всему миру невероятно простым (по крайней мере, по сравнению с другими схемами).

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

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

 # создать сокет INET, STREAMing s = socket.socket ( socket.AF_INET, socket.SOCK_STREAM) # теперь подключитесь к веб-серверу через порт 80 # - нормальный http порт s.connect (("www.mcmillan-inc.com", 80)) 

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

То, что происходит на веб-сервере, немного сложнее. Во-первых, веб-сервер создает «серверный сокет»:

 # создать сокет INET, STREAMing serversocket = socket.socket ( socket.AF_INET, socket.SOCK_STREAM) # привязать сокет к общедоступному хосту, # и известный порт serversocket.bind ((socket.gethostname (), 80)) # стать серверным сокетом serversocket.listen (5) 

Следует отметить пару моментов: мы использовали socket.gethostname () , чтобы сокет будет видно внешнему миру. Если бы мы использовали s.bind (('localhost', 80)) или s.bind (('127.0.0.1', 80)) у нас все равно будет сокет «сервер», но тот, который был виден только внутри той же машины. s.bind (('', 80)) указывает, что сокет доступен по любому адресу, с которым встречается машина имеют.

Второе замечание: порты с небольшим номером обычно зарезервированы для «хорошо известных» сервисы (HTTP, SNMP и т. д.). Если вы играете, используйте хорошее большое число (4 цифры).

Наконец, аргумент listen сообщает библиотеке сокетов, что мы хотим, чтобы поставьте в очередь до 5 запросов на соединение (нормальный максимум), прежде чем отказывать извне соединения. Если остальная часть кода написана правильно, этого должно быть достаточно.

Теперь, когда у нас есть «серверный» сокет, прослушивающий порт 80, мы можем ввести основной цикл веб-сервера:

, а 1: # принимать подключения извне (клиентский сокет, адрес) = серверный сокет.принять () # теперь сделайте что-нибудь с клиентским сокетом # в данном случае мы представим, что это многопоточный сервер ct = client_thread (клиентский сокет) ct.run () 

На самом деле существует 3 основных способа работы этого цикла - отправка поток для обработки clientocket , создайте новый процесс для обработки clientocket , или реструктурируйте это приложение для использования неблокирующих сокетов, и мультиплексирование между нашим «серверным» сокетом и любым активным клиентским сокетом с использованием выберите .Подробнее об этом позже. Сейчас важно понять, это: это все «серверный» сокет. Он не отправляет никаких данных. Это не получать любые данные. Он просто производит «клиентские» сокеты. Каждому клиентскому сокету соответствует создается в ответ на то, что какой-то другой «клиентский» сокет выполняет соединение connect () с хост и порт, к которым мы привязаны. Как только мы создали этот клиентский сокет , мы вернитесь к прослушиванию для получения дополнительных подключений. Два «клиента» могут свободно общаться в чате. вверх - они используют какой-то динамически выделенный порт, который будет переработан, когда разговор заканчивается.

МПК

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

Если вы все же решите использовать сокеты, привяжите «серверный» сокет к 'localhost' . На на большинстве платформ это позволит сократить несколько уровней сети. код и быть немного быстрее.

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

Первое, что следует отметить, это то, что "клиентский" сокет веб-браузера и Интернет серверные «клиентские» сокеты такие же звери.То есть это «одноранговый» разговор. Или, другими словами, в качестве дизайнера вам придется решить, каковы правила этикета для разговора . Обычно connect ing socket начинает диалог, отправляя запрос, или возможно знак. Но это дизайнерское решение, а не розетки.

Теперь есть два набора глаголов, которые можно использовать для общения. Вы можете использовать отправить и recv , или вы можете превратить свой клиентский сокет в файлового зверя и используйте для чтения и для записи .Именно так Java представляет свои сокеты. Я не собираюсь здесь говорить об этом, но хочу предупредить, что вам нужно использовать заподлицо на розетки. Это буферизованные «файлы», и распространенной ошибкой является напишите что-нибудь, а затем прочтите для ответа. Без промывки дюймов там вы можете ждать ответа вечно, потому что запрос все еще может быть в ваш выходной буфер.

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

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

Протокол, подобный HTTP, использует сокет только для одной передачи. Клиент отправляет запрос, затем читает ответ. Это оно. Сокет отбрасывается. Это значит, что клиент может определить конец ответа, получив 0 байтов.

Но если вы планируете повторно использовать розетку для дальнейших передач, вам необходимо что нет EOT на розетке. Повторюсь: если розетка отправить или recv возвращается после обработки 0 байтов, соединение было сломан. Если соединение , а не разорвано, вы можете подождать recv навсегда, потому что сокет , а не скажет вам, что больше нечего читать (пока). Если вы немного подумаете об этом, вы поймете, что фундаментальная истина сокетов: сообщения должны иметь фиксированную длину (фу), или быть разделенными (пожать плечами), или указать длину (намного лучше), или заканчиваться отключение соединения .Выбор полностью за вами, но некоторые способы правее других).

Если вы не хотите разрывать соединение, самым простым решением является фиксированный длина сообщения:

.Сокет

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

Исходный код: 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, scope_id) , где flowinfo и scope_id представляют sin6_flowinfo и sin6_scope_id членов в структуре struct sockaddr_in6 в C. Для socket методы модуля, flowinfo и scope_id могут быть опущены только для Обратная совместимость.Обратите внимание, однако, что пропуск scope_id может вызвать проблемы. в манипулировании адресами IPv6 с заданной областью действия.

    Изменено в версии 3.7: Для многоадресных адресов (с scope_id значимым) адрес может не содержать % scope_id (или 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 требует кортежа (interface, rx_addr, tx_addr) где оба дополнительных параметра представляют собой длинное целое число без знака, которое представляет собой Идентификатор CAN (стандартный или расширенный).

    • Протокол CAN_J1939 требует кортежа (интерфейс, имя, pgn, адрес) где дополнительные параметры - это 64-битное целое число без знака, представляющее Имя ЭБУ, 32-битное целое число без знака, представляющее номер группы параметров (PGN) и 8-битное целое число, представляющее адрес.

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

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

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

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

    • BTPROTO_HCI принимает (устройство_

.Программирование сокетов

на Python (Руководство) - Real Python

Сокеты и API сокетов используются для отправки сообщений по сети. Они обеспечивают форму межпроцессного взаимодействия (IPC). Сеть может быть логической локальной сетью для компьютера или сетью, которая физически подключена к внешней сети, со своими собственными подключениями к другим сетям. Очевидным примером является Интернет, к которому вы подключаетесь через своего провайдера.

В этом руководстве есть три различных итерации построения сервера и клиента сокетов с помощью Python:

  1. Мы начнем обучение с рассмотрения простого сервера и клиента сокета.
  2. После того, как вы познакомились с API и принципами работы в этом начальном примере, мы рассмотрим улучшенную версию, которая обрабатывает несколько подключений одновременно.
  3. Наконец, мы перейдем к созданию примера сервера и клиента, который функционирует как полноценное приложение сокета, со своим собственным настраиваемым заголовком и содержимым.

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

Примеры в этом руководстве используют Python 3.6. Вы можете найти исходный код на GitHub.

Сети и розетки - большие предметы. О них написаны буквально тома. Если вы новичок в сокетах или сетях, это совершенно нормально, если вы чувствуете себя перегруженным всеми терминами и частями. Я знаю, что сделал!

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

Приступим!

Фон

Розетки имеют долгую историю. Их использование началось с ARPANET в 1971 году, а затем стало API в операционной системе Berkeley Software Distribution (BSD), выпущенной в 1983 году, под названием Berkeley soc

.

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