необходимость или вынужденная мера? Самостоятельно подключение двойной розетки
Мало кому удавалось избегать проблемы недостатка розеток в квартире. Особенно это касается домов, построенных еще во времена СССР, где количество розеток в комнате, высоту и место их установки определяли какие-то неведомые никому правила из «тайных манускриптов», лишенных инженерного обоснования и здравого смысла. В результате жители получали розетки, как будто специально скрытые за шкафами и диванами и «паутину» дополнительных удлинителей, тянущихся к нужным местам под диванами и коврами.
Такие меры хоть и являлись тогда единственным спасением, но безопасности они не добавляли, так как в один удлинитель могли «втыкать» одновременно электрокамин, утюг, фен и другие мощные потребители электрической энергии. И очень хорошо, если в щитке срабатывал автомат защиты, но происходило это далеко не всегда. Настоящей «спасительной соломинкой» в такой ситуации может послужить двойная розетка, которая устанавливается вместо одинарной в ту же монтажную коробку. В статье мы рассмотрим в каких случаях можно устанавливать эти устройства, какие существуют их разновидности, подробно разберем сам процесс монтажа.
Двойная розеткаДвойная розетка
Розеток много не бывает: Правило «Плюс одна»
Любые опытные электрики знают, что много розеток не бывает! И они абсолютно правы, так как при любом даже самом правильном проектировании электропроводки и ее монтаже все равно в дальнейшем наступает момент, когда где-то не будет хватать розетки. Поэтому при планировании электропроводки надо пользоваться одним хорошим правилом, называемым «плюс одна». То есть там, где по всем нормам и предварительным прикидкам нужна одна розетка, надо смело ставить две. Там, где две, там смело 3 и так далее. На кухонных фартуках, в местах расположения аудио- и видеотехники, возле всех письменных столов смело надо устанавливать блок из трех розеток плюс компьютерную, а там, где находится телевизор, то еще и антенную.
Необходимый минимум розеток в месте расположения телевизораНекоторые электрики экстракласса, очередь на услуги которых измеряется уже годами, в любой жилой комнате устанавливают не менее 3 блоков из 4 розеток, причем в нужных местах, а не за планируемой мебелью. На этапе монтажа это выливается в бо́льшие расходы, зато потом следуют десятки лет комфортной жизни без удлинителей, являющихся всегда источником повышенной опасности. Исключением из правила «плюс одна» являются только выделенные линии, предназначенные только для конкретных потребителей: стиральные и посудомоечные машины, проточные электронагреватели, электроплиты, кондиционеры, системы безопасности (сигнализация и видеонаблюдение). К таким потребителям прокладывается отдельный кабель от щитка, а розетки иногда выделяют другим цветом, например, красным, подчеркивающим их «особый статус».
Установка красной розетки или вставки из красного пластика сразу подчеркнет «избранность» этой линииДвойная розетка – это вынужденная мера?
Отвечая на этот вопрос, мы говорим твердое «Да»! Двойная розетка – это действительно вынужденная мера. Гораздо лучше иметь две отдельные розетки, объединенные под общей рамкой, чем одну двойную. Попробуем аргументировать это утверждение.
Механизмы современных розеток и выключателей монтируются в стандартных монтажных коробках диаметром 68 мм и глубиной 40 мм или 60 мм (увеличенной глубины). Последние используются для того, чтобы за механизмом можно было еще и разместить элементы коммутации, что позволяет избавиться от распределительных коробок. Монтажные коробки также часто называют подрозетниками. Такое определение ошибочное, но оно настолько вошло в обиход, что бороться с этим бесполезно.
Различные виды монтажных коробокКоробки делают из пластика, на боковых поверхностях и сзади имеются перфорированные отверстия для ввода кабеля, которые в нужном месте легко вырезаются ножом. Сбоку коробок могут быть «уши» — выступы, которыми можно соединять коробки вместе. Внутри «ушей» в дальнейшем легко прокладывать провод. Соединенные «ушами» коробки имеют стандартные межцентровые расстояния в 71 мм. Это позволяет монтировать механизмы розеток, выключателей, диммеров и других устройств рядом.
Механизмы двух розеток, смонтированных в двух монтажных коробках с межцентровым расстоянием в 71 ммА потом закрывать их единой рамкой на два места. Если бы каждая розетка монтировалась со своей рамкой, то монтажные коробки пришлось бы «раздвигать» на бо́льшее расстояние и между ними была бы щель, что не так эстетично.
Те же розетки, но уже под одной рамкойТеперь стоит определиться с некоторыми понятиями. Розетки, в которых два отдельных механизма монтируются в своих монтажных коробках, а потом они объединяются под одной рамкой называют сдвоенными или блок из двух розеток. Рассмотрим, что такое двойная розетка. Основным ее отличием является то, что две контактные группы для двух розеток монтируются в одном механизме, размещенном в одной монтажной коробке. Состав механизма можно увидеть на следующем рисунке.
Устройство двойной розетки без заземляющего контактаОсновная деталь механизма розетки – это корпус (1), который делается из термостойкого пластика. Ранее можно было встретить керамические корпуса, однако, сейчас это либо редкость, либо очень дорого. К корпусу присоединен суппорт (2), который «отвечает» за точное позиционирование розетки на плоской поверхности стены и крепление механизма к монтажной коробке при помощи саморезов (10).
Электрическая часть розетки состоит из шины (3), представляющей собой две сложенные вместе и соединенные латунные пластины, которые укладываются в пазы корпуса. На концах шины пластины «расходятся» образуя лепестковые контакты (4), отвечающие за надежный контакт с цилиндрическими штырями штепселя (вилки). Хоть и латунь и является упругим материалом, но все равно со временем соединение может разбалтываться, нарушая контакт. Для предотвращения этого явления в хороших розетках ставят пружинные скобы (5). Контакт с проводом обеспечивает квадратная гайка (6), прижимающая его к шине при помощи винта (7). Зачищенный провод заводится с за
преимущества перед одинарной, особенности подключения варианта «внутренняя»
Какое разнообразие электрических приборов в магазинах! Кажется, все необходимо. Однако, придя домой, обнаруживается, что подключать уже и некуда. И снова в магазин за тройником или удлинителем. А потом недовольство: то провода под ногами, то не смотрится тот же самый тройник. Вот тогда и появляется желание — чтобы и мест подключения хватало, и смотрелись они. Раз есть спрос, есть и предложение. Промышленность давно уже выпускает двойные и тройные розетки.
Выбор розетки
Ассортимент этих устройств огромен: и цвет, и форма, и размеры. Кажется, чего проще — выбрать, какая понравилась, и все. Однако, есть производители, которые изготавливают некачественный материал, а чтобы его покупали, делают его красивым. Как выбрать красивую и качественную розетку? Существует два типа:
- с лепестковыми контактами;
- с пружинными контактами.
Первые проще в изготовлении и поэтому, как правило, дешевле. Их можно использовать для подсоединения маломощных электроприборов или там, где редко вытаскивают вилку, например, телевизор. При больших нагрузках контакты нагреваются и теряют упругость. При частом пользовании розеткой происходит деформация контактов. И в том, и в другом случае между вилкой и контактами розетки появляется зазор, что приводит к искрению и нагреванию. Это, в свою очередь, может вызвать либо короткое замыкание, либо возгорание.
Вторая конструкция более сложная и дорогостоящая. Она имеет подвижной контакт, который прижимается к упору с помощью пружины. Расстояние между подвижным и неподвижным контактами легко меняется, что позволяет часто пользоваться таким устройством. Плотно прижимаясь к вилке, контакт позволяет использовать большой ток, а значит, и мощность.
Второе, на что следует обратить внимание при покупке — материал монтажной площадки — то, на чем крепятся контакты и клеммы для подключения проводов. Они также бывают двух видов:
- из керамики;
- из пластмассы.
Керамика является не только хорошим изолятором, но и абсолютно не горючая. Не деформируется при изменении температуры. Второй материал также не проводит электрический ток. Но некоторые производители в целях экономии используют горючий материал. Это может привести как к пожару, так и к отравлению ядовитыми газами.
Но и это еще не все. Необходимо проявить проницательность. Для каких целей будет использоваться розетка? А в будущем? Сегодня она будет нужна для подзарядки телефона, а через какое-то время, возможно, к ней подключат мощный пылесос. Будет ли она тогда нормально функционировать? Для этого необходимо знать, какой ток будет через нее проходить. Производители обычно на обратной стороне корпуса указывают напряжение и силу тока, на которые рассчитано устройство.
Если поставить в ряд три одинарные розетки — смотреться не будут, нужна законченная композиция.
Продаются готовые трехрозеточные блоки, а также есть отдельная лицевая панель, которая закрывает три рядом стоящие розетки. Выбор будет зависеть и от стоимости, и от приглянувшейся модели. При покупке панели нужно будет подобрать к ней розетки, чтобы они точно подходили друг к другу.
Определение места установки
Где поставить блок розеток? Учитывается и удобство, и эстетика, и безопасность. Но необходимо учитывать и правила безопасности и технической эксплуатации. Если смотреть на европейские стандарты, то расстояние между полом и таким блоком должно составлять 20−40 см, по советским — 100−120 см . Возможно, место будет зависеть и от способа установки. А она бывает:
- наружная;
- внутренняя.
Наружная используется в старых постройках, в производственных, нежилых помещениях. Производится непосредственно на стену. Кабель или провода укладываются в лоток из негорючего материала.
В новых домах и в помещениях после ремонта, как правило, устанавливается внутренняя или скрыта проводка, как и розетки с выключателями. В любом случае провода от распределительной коробки до розетки должны прокладываться строго вертикально или горизонтально. Это необходимо учитывать при выборе места, чтобы потом не пришлось огибать препятствия.
Подготовительные работы
Речь идет об установке тройной розетки внутренней. Опять же можно выделить два способа установки:
- с одним подрозетником;
- с тремя подрозетниками.
Какой бы выбор ни был, необходимо разметить место установки. Некоторые рекомендуют использовать уровень, однако, если пол не по уровню, конструкция будет смотреться неровно. Поэтому лучше гнездо под розетку сделать немного больше, чтобы можно было ее регулировать. Если вы решили установить тройную розетку в один подрозетник, то надо отмерить размеры подрозетника, сделать допуск и выдолбить отверстие в стене.
При установке трех одинарных розеток под каждую из них нужно поставить подрозетник. Здесь нужна особая точность. Необходимо не только выставить уровень, но также рассчитать расстояния так, чтобы каждая из них вошла в свое гнездо лицевой панели.
Крепить подрозетник необходимо прочно, даже маленькая расхлябанность может разрушить штукатурку, да и самим будет неприятно. Закрепить можно дюбелями, если есть сноровка, так как можно разрушить подрозетник. Однако, практичнее будет шурупами, кто знает, может придется менять или убирать.
В магазинах продаются наборы: шурупы и гильзы. Ставим в выдолбленное гнездо подрозетник и отмечаем место под крепеж. Высверливаем отверстие по диаметру гильзы (можно чуть меньше, но не больше) и вставляем гильзу, она должна прочно держаться. При закручивании шурупа гильза еще плотнее прижмется к стене. Если стена кирпичная, можно использовать обычное сверло, хотя, если есть с напайкой, нужного диаметра — лучше его. Для бетона однозначно стоит взять сверло с напайкой, благо они сейчас свободно продаются.
Подготовка провода
Настало время подумать о прокладке кабеля или проводов. Для этого нужно определиться, что вы будете использовать. По правилам к каждой розетке должен идти свой провод. Если у розеток предусмотрено заземление, то дополнительно надо еще по одному проводнику. Провод для заземления используется без изоляции.
Хорошо бы в запасе иметь одну-две жилы. При подключении тройной розетки можно повредить одну из жил. Алюминиевый провод, особенно если его надрезать, легко ломается. Можно ошибиться и отрезать короче, чем необходимо. В процессе работы, из-за большой нагрузки, провода могут обгорать. Вот тогда резервная жила будет как никогда кстати.
Еще немного о материале токопроводящего проводника. Ранее говорилось о необходимости подумать под какой нагрузкой будет работать розетка. Это справедливо и для провода. Есть много справочников, таблиц для расчета сечения проводника в зависимости от проходящего по нему тока. Многожильный проводник пропускает гораздо больший ток, чем одножильный того же сечения. Исходя из этого можно решить, что будет использоваться — провод или кабель.
После того как все необходимое купили, начертите на стене линию от основной электросети или коробки до сделанного гнезда.
Помните, линия должна идти строго по вертикали или горизонтали. Выдолбите дорожку с таким расчетом, чтобы кабель или провода полностью уходили под штукатурку. Если есть подозрение что рядом будет проводка, необходимо обесточить квартиру.
Это возможно в том случае, когда прокладка производится к коробке, которая находится рядом, но чуть в стороне.
Подключение розетки
Прежде чем устанавливать подрозетник, высверливается в корпусе отверстие под провод (кабель). Если их три, то в каждом из них. После этого крепим его к стене. Закрепив один край, проверьте уровень. Если одна розетка стоит криво, это мало заметно, но если тройная — сразу бросается в глаза. Прикрутите розетки и переходите к проводу.
Перед тем, как закрепить кабель, прозвоните все его жилы и промаркируйте их. В некоторых кабелях изоляция каждой жилы окрашена в свой цвет. Если используются провода — маркировка не нужна, но прозвонить обязательно. После этого уложите их в канавку и закрепите. Тот конец, который будет подсоединяться к сети, вымерьте так, чтобы его хватило завести в коробку и соединить. Не забывайте про правило — всегда оставлять запас, пусть лучше больше, чем не хватит. С сетью пока не соединяйте.
Второй конец заведите в подрозетник и соедините с клемами розетки. Проверьте целостность проводов и правильное подсоединение. Это можно сделать следующим образом. Делается перемычка из оголенного провода и вставляется в розетку, затем прозванивается эту цепь. То же самое проделывается со второй и третьей. Отдельно подсоединяется заземление, если его нет придется сделать самому.
Осталось заштукатурить провода и подрозетник. Если отверстия под провода очень большие, их необходимо заделать, чтобы штукатурка не попала внутрь. После высыхания штукатурки заделайте стену и закройте тройную розетку. Осталось разобраться, как подключить тройную розетку к сети. Подключение может быть двух видов:
- к уже имеющейся коробке, например, меняем одиночную розетку на тройную;
- непосредственно к центральной линии.
Соединение в коробке
В первую очередь полностью обесточьте квартиру. Ни в коем случае не пытайтесь работать под напряжением! Вскройте коробку и осмотрите соединения. Если они замотаны изолентой — размотайте, надеты колпачки — снимите. Делается это для того, чтобы обеспечить доступ к токопроводящим элементам. Заодно примерьте, поместятся ли провода в коробке?
Проверьте оголенные провода в коробке, чтобы они не соприкасались и подайте напряжение. Дальше надо будет определить, где расположена фаза — проводник, по которому приходит ток. Воспользоваться можно индикатором или прибором, измеряющим напряжение. С индикатором все понятно: коснитесь токопроводящего элемента, если появился световой сигнал — это фаза.
Другое дело с прибором. Так как измеряется переменный ток, нельзя понять, где находится фаза, а где ноль. Поэтому в качестве ноля используется сам человек. Берется щуп прибора в одну руку, а другой касается поочередно всех соединений. Бояться не надо: ток, проходящий по цепи, будет настолько мал, что его не почувствует самый чувствительный человек. Но для этого подключенная шкала измеряемого напряжения на приборе должна быть не менее 250 вольт.
При нахождении в коробке более двух точек соединения необходимо убедиться, что найденное фазное соединение относится к центральной линии.
Соедините фазу с тремя очищенными от изоляции жилами, которые идут к контактам трех розеток. Другие три, подключенные к другим контактам розетки, соедините с нолем — это другой провод центральной линии.
Подсоединение к линии
Для подключения к центральной линии заранее купите распределительную коробку. Обесточьте квартиру, разрежьте провод центральной линии, установите коробку, зачистите провода центральной линии и от розетки, все это заведите в коробку. Жилы с первых контактов розетки подсоедиите к одному проводнику линии, жилы других контактов розетки подключите к другому проводнику. Землю подсоедините к заземлителю.
Как выбрать розетку | Строительный блог
Сегодня легкая статья звучит она — как выбрать розетку. Простой вроде бы вопрос, однако есть несколько нюансов при выборе. Хотя бы те, что розетки бывают внешние и внутренние, с заземлением и без него. Но все по порядку……
1) Определяемся, какая розетка нам нужна внешняя или внутренняя.
Конечно, внутренние розетки должны иметь определенные отверстия в стене, куда они и монтируются. Для них можно проштробить стену и вмонтировать внутреннюю розетку практически в любое место. Но не так все просто — штробление стены, прокладка проводки, затем этот канал нужно зашпаклевать. Для того чтобы не штробить стену, можно использовать внешнюю розетку, она не монтируется в стену, а накладывается на нее, кабель до этой розетки закладывается в кабель канал, внешнюю розетку гораздо быстрее монтировать чем внутреннюю. Однако внешняя розетка выглядит не так эстетично как внутренняя.
2) С типом розетки определились, затем выбираем основание розетки.
Все дело в том, что розетки которые способны выдерживать высокий ампераж (высокую силу тока), должны иметь керамическое основание, будь то внешняя розетка или внутренняя. Розетки которые рассчитаны на невысокие нагрузки имеют пластиковое основание. Нужно понимать для каких целей вы берете розетку, если для водонагревателя или калорифера, то однозначно нужно брать с керамическим основанием, пластиковая оплавится. С пластиковым основанием можно брать для — мелкой бытовой техники, для компьютерной техники, аудио – видео техники и для нетребовательного освещения.
3) Розетка с заземлением или без. Следующим в вопросе — как выбрать розетку, нужно подумать о заземлении.
Есть варианты, как с заземлением, так и без него. Отличаются металлическими контактами, так называемой землей. При утечки тока, земля спасет вас от удара электрическим током. Однако не каждая техника требует землю, на многих вилках есть металлические контакты по бокам, на некоторых нет. Есть как правило на крупной бытовой технике, стиральные машины, посудомоечные машины, духовые шкафы, водонагреватели и т.д. А вот на мелкой технике нет, как правило на тех же аудио – видео, зарядках для мобильной техники и т. д. Отличить просто – смотрим на вилку, если контактов нет, то и розетку с заземлением не нужно. Отсюда вытекает — если нужно для мелкой техники, то розетку с заземлением брать не нужно, если для крупной у которой вилки имеют пластины заземления, в обязательном порядке берем с заземлением.
4) Контактная группа.
Сейчас существует много всяких модных зажимов и стопоров для контактной группы, однако я вам советую старые добрые контактные группы, с закручивающимися болтами, они надежны и всегда находятся на местах, не вылетят при монтаже.
5) Одинарная или двойная.
Тут нужно подумать — может вам купить двойную розетку вместо одинарной, на всякий случай. Ведь двойная — всегда лучше одинарной, можно подключить больше приборов. Причем двойной тип можно установить в штатное место для одинарной, если выбрали внутреннюю розетку.
6) И самое последнее в нашем вопросе — это дизайн. Тут как говорится на вкус и цвет, выбирайте под ваш интерьер, бывают как пластиковые декоративные верхние накладки, так и имитацией различный поверхностей, например камня.
На этом все, вот такая легкая статья о розетках получилась. Читайте наш строительный сайт, будет много интересного.
Класс QSocket
Класс QSocketКласс QSocket обеспечивает буферизованное TCP-соединение. Больше…
#include
Наследует QObject и QIODevice.
Список всех функций-членов.
Открытые члены
- перечисление Ошибка {ErrConnectionRefused, ErrHostNotFound, ErrSocketRead}
- QSocket (QObject * parent = 0, const char * name = 0)
- виртуальный ~ QSocket ()
- enum State {Idle, HostLookup, Connecting, Connected, Closing, Connection = Connected}
- Состояние Состояние () const
- int розетка () const
- virtual void set Socket (внутренняя розетка)
- QSocketDevice * socketDevice ()
- виртуальная пустота setSocketDevice (устройство QSocketDevice *)
- virtual void connectToHost (const QString & host, порт Q_UINT16)
- QString peerName () const
- virtual bool open (int m)
- виртуальная пустота закрыть ()
- виртуальная пустота промывка ()
- виртуальное смещение размер () const
- виртуальное смещение при () const
- virtual bool at (индекс смещения)
- virtual bool atEnd () const
- Q_ULONG bytesAvailable () const
- Q_ULONG waitForMore (int msecs, bool * timeout) const
- Q_ULONG waitForMore (интервал msecs) const
- Q_ULONG bytesToWrite () const
- пусто ясноPendingData ()
- виртуальный Q_LONG readBlock (char * data, Q_ULONG maxlen)
- виртуальный Q_LONG writeBlock (const char * data, Q_ULONG len)
- виртуальный интервал getch ()
- виртуальный int путч (int ch)
- виртуальный int отменить выборку (int ch)
- bool canReadLine () const
- виртуальная QString readLine ()
- Q_UINT16 порт () const
- Q_UINT16 peerPort () const
- QHostAddress адрес () const
- QHostAddress peerAddress () const
- пусто setReadBufferSize (Q_ULONG bufSize)
- Q_ULONG readBufferSize () const
Сигналы
Подробное описание
Класс QSocket обеспечивает буферизованное TCP-соединение.Он предоставляет полностью неблокирующее устройство QIODevice, а также изменяет и расширяет API QIODevice специфичным для сокета кодом.
Обратите внимание, что приложение QApplication должно быть создано до этого. класс можно использовать.
Функции, которые вы, вероятно, будете вызывать чаще всего, это connectToHost (), bytesAvailable (), canReadLine () и те, от которых он наследуется QIODevice.
connectToHost () — наиболее часто используемая функция. Как следует из названия, он открывает соединение с указанным хостом.
Большинство сетевых протоколов являются пакетно-ориентированными или линейно-ориентированный.canReadLine () указывает, содержит целую непрочитанную строку или нет, а bytesAvailable () возвращает количество байтов, доступных для чтения.
Сигналы error (), connected (), readyRead () и connectionClosed () информирует вас о ходе подключения. Есть также несколько менее часто используемых сигналов. hostFound () — это генерируется, когда connectToHost () завершает поиск в DNS и запускает свое TCP-соединение. delayedCloseFinished () испускается когда close () завершается успешно. bytesWritten () испускается, когда QSocket перемещает данные из очереди «на запись» в TCP реализация.
Для сокета есть несколько функций доступа: state () возвращает находится ли объект в режиме ожидания, выполняет поиск DNS, подключается, имеет рабочее соединение и т.д. адрес () и порт () возвращаются IP-адрес и порт, используемые для подключения. PeerAddress () и функции peerPort () возвращают IP-адрес и порт, используемые однорангового узла, а peerName () возвращает имя однорангового узла (обычно имя, которое было передано в connectToHost ()). socketDevice () возвращает указатель на QSocketDevice, используемый для этого сокета.
QSocket наследует QIODevice и повторно реализует некоторые функции. В в общем, вы можете рассматривать его как QIODevice для записи, и в основном также для чтения. Совпадение не идеальное, поскольку QIODevice API разработан для устройств, которые управляются одним и тем же машина, а асинхронное одноранговое сетевое соединение не совсем так. Например, нет ничего подходящего QIODevice :: size () точно. Документация для open (), close (), flush (), size (), at (), atEnd (), readBlock (), writeBlock (), getch (), putch (), ungetch () и readLine () описывает различия в деталях.
Предупреждение: QSocket не подходит для использования в потоках. Если тебе нужно для использования сокетов в потоках используйте класс QSocketDevice нижнего уровня.
Предупреждение: Поскольку Qt не использует собственный поток сокетов реализация в Mac OS X, QSocket имеет неявную передачу задержка 100 мс. Вы можете снизить задержку в Mac OS X, используя вместо этого QSocketDevice.
См. Также QSocketDevice, QHostAddress, QSocketNotifier и Ввод / вывод и сеть.
Документация по типу элемента
QSocket :: Ошибка
В этом перечислении указаны возможные ошибки:
- QSocket :: ErrConnectionRefused — если в соединении было отказано
- QSocket :: ErrHostNotFound — если хост не найден
- QSocket :: ErrSocketRead — если чтение из сокета не удалось
QSocket :: State
Это перечисление определяет состояния подключения:
- QSocket :: Idle — если нет соединения
- QSocket :: HostLookup — во время поиска DNS
- QSocket :: Connecting — во время установления TCP-соединения
- QSocket :: Connected — при наличии рабочего соединения
- QSocket :: Closing — если сокет закрывается, но еще не закрыт.
Документация по функциям-членам
QSocket :: QSocket (QObject * parent = 0, const char * name = 0)
Создает объект QSocket в состоянии QSocket :: Idle.Родительский и имя аргументы передаются в QObject конструктор.
Обратите внимание, что приложение QApplication должно быть создано до сокетов. может быть использован.
QSocket :: ~ QSocket () [виртуальный]
Разрушает розетку. При необходимости закрывает соединение.См. Также close ().
QHostAddress QSocket :: address () const
Возвращает адрес хоста этого сокета. (Обычно это основной IP-адрес хоста, но может быть, например, 127.0.0.1 для подключения к localhost.)Смещение QSocket :: at () const [виртуальный]
Возвращает текущий индекс чтения. Поскольку QSocket является последовательным устройства текущий индекс чтения всегда равен нулю.Переопределено из QIODevice.
bool QSocket :: at (Индекс смещения) [виртуальный]
Это перегруженная функция, предоставленная для удобства. По сути, он ведет себя так же, как и вышеуказанная функция.Перемещает индекс чтения вперед на , индекс и возвращает ИСТИНА, если операция прошла успешно; в противном случае возвращает FALSE. Перемещение index forward означает пропуск входящих данных.
Реализовано повторно из QIODevice.
bool QSocket :: atEnd () const [виртуальный]
Возвращает TRUE, если данных для чтения больше нет; в противном случае возвращает FALSE.Переопределено из QIODevice.
Q_ULONG QSocket :: bytesAvailable () const
Возвращает количество входящих байтов, которые можно прочитать, т.е.е. то размер входного буфера. Эквивалентен size ().См. Также bytesToWrite ().
Пример: network / networkprotocol / nntp.cpp.
Q_ULONG QSocket :: bytesToWrite () const
Возвращает количество байтов, ожидающих записи, т.е. размер выходного буфера.См. Также bytesAvailable () и clearPendingData ().
void QSocket :: bytesWritten (int nbytes) [сигнал]
Этот сигнал излучается, когда данные были записаны в сеть. Параметр nbytes указывает, сколько байтов было записано.
Функция bytesToWrite () часто используется в том же контексте; Это указывает, сколько байтов в буфере осталось записать.
См. Также writeBlock () и bytesToWrite ().
bool QSocket :: canReadLine () const
Возвращает ИСТИНА, если можно прочитать всю строку текста из этот сокет в это время; в противном случае возвращает FALSE.Обратите внимание, что если одноранговый узел неожиданно закрывает соединение, это функция возвращает FALSE.Это означает, что такие петли не будут Работа:
while (! socket-> canReadLine ()) // НЕПРАВИЛЬНО ;
См. Также readLine ().
Примеры: сеть / clientserver / client / client.cpp, network / httpd / httpd.cpp, network / mail / smtp.cpp и network / networkprotocol / nntp.cpp.
void QSocket :: clearPendingData ()
Удаляет данные, ожидающие записи. Это полезно, если вы хотите закрыть сокет, не дожидаясь записи всех данных.См. Также bytesToWrite (), close () и delayedCloseFinished ().
void QSocket :: close () [виртуальный]
Закрывает розетку.Буфер чтения очищен.
Если выходной буфер пуст, устанавливается состояние QSocket :: Idle и соединение немедленно разрывается. Если выходной буфер все еще содержит данные для записи, QSocket переходит в состояние QSocket :: Closing, а остальные данные будут написано. Когда все исходящие данные записаны, состояние устанавливается в QSocket :: Idle, и соединение разрывается.В этот момент выдается сигнал delayedCloseFinished ().
Если вы не хотите, чтобы данные выходного буфера записывались, вызовите clearPendingData () перед вызовом close ().
См. Также state (), bytesToWrite () и clearPendingData ().
Примеры: сеть / clientserver / client / client.cpp, network / httpd / httpd.cpp и network / networkprotocol / nntp.cpp.
Реализовано повторно из QIODevice.
void QSocket :: connectToHost (const QString & host, порт Q_UINT16) [виртуальный]
Попытки установить соединение с хостом через указанный порт и немедленно вернуться.Любое соединение или ожидающее соединение немедленно закрывается, и QSocket переходит в состояние HostLookup. Когда поиск успешно, он излучает hostFound (), запускает TCP-соединение и переходит в состояние подключения. Наконец, когда соединение успешно, он излучает connected () и переходит в Connected штат. Если в какой-то момент возникает ошибка, выдается error ().
host может быть IP-адресом в строковой форме или DNS название. QSocket при необходимости выполнит обычный поиск в DNS.Обратите внимание, что порт имеет собственный порядок байтов, в отличие от некоторых других библиотек.
См. Также состояние ().
Примеры: сеть / clientserver / client / client.cpp, network / mail / smtp.cpp и network / networkprotocol / nntp.cpp.
void QSocket :: connected () [сигнал]
Этот сигнал испускается после вызова connectToHost () и соединение было успешно установлено.
См. Также connectToHost () и connectionClosed ().
Примеры: сеть / клиент-сервер / клиент / клиент.cpp, network / mail / smtp.cpp и network / networkprotocol / nntp.cpp.
void QSocket :: connectionClosed () [сигнал]
Этот сигнал излучается, когда другой конец закрывает подключение. Буферы чтения могут содержать буферизованные входные данные, которые вы можете читать после того, как соединение было закрыто.
См. Также connectToHost () и close ().
Примеры: сеть / clientserver / client / client.cpp, network / clientserver / server / server.cpp и network / networkprotocol / nntp.cpp.
void QSocket :: delayedCloseFinished () [сигнал]
Этот сигнал излучается, когда завершается отсроченное закрытие.
Если вы вызываете close (), и есть буферизованные выходные данные, которые нужно написано, QSocket переходит в состояние QSocket :: Closing и немедленно возвращается. Затем он будет продолжать писать в сокет, пока все данные записаны. Затем delayedCloseFinished () излучается сигнал.
См. Также close ().
Примеры: сеть / клиент-сервер / клиент / клиент.cpp и сеть / httpd / httpd.cpp.
void QSocket :: error (int) [signal]
Этот сигнал выдается после возникновения ошибки. Параметр Значение ошибки.
Примеры: network / clientserver / client / client.cpp и network / networkprotocol / nntp.cpp.
void QSocket :: flush () [виртуальный]
Реализация абстрактной виртуальной функции QIODevice :: flush ().Переопределено из QIODevice.
int QSocket :: getch () [виртуальный]
Читает один байт / символ из внутреннего буфера чтения.Возвращает прочитанный байт / символ или -1, если ничего не нужно читать.См. Также bytesAvailable () и putch ().
Реализовано повторно из QIODevice.
void QSocket :: hostFound () [сигнал]
Этот сигнал испускается после вызова connectToHost () и поиск хоста завершился успешно.
См. Также connected ().
Пример: network / networkprotocol / nntp. cpp.
bool QSocket :: open (int m) [виртуальный]
Открывает сокет с использованием указанного режима файла QIODevice m .Эта функция вызывается автоматически при необходимости, и вам следует не называй это сам.См. Также close ().
Реализовано повторно из QIODevice.
QHostAddress QSocket :: peerAddress () const
Возвращает адрес подключенного однорангового узла, если сокет находится в Подключенное состояние; в противном случае возвращается пустой QHostAddress.QString QSocket :: peerName () const
Возвращает имя хоста, указанное для connectToHost () функция. Если ничего не задано, возвращается пустая строка.Пример: сеть / почта / smtp.cpp.
Q_UINT16 QSocket :: peerPort () const
Возвращает номер порта хоста однорангового узла, как правило, как указано в connectToHost () функция. Если ничего не задано, эта функция возвращает 0.Обратите внимание, что Qt всегда использует собственный порядок байтов, т. е. 67 — это 67 в Qt; нет необходимости вызывать htons ().
Q_UINT16 QSocket :: port () const
Возвращает номер порта хоста этого сокета в собственном порядке байтов.int QSocket :: putch (int ch) [виртуальный]
Записывает символ ch в выходной буфер.Возвращает ch или -1, если произошла ошибка.
См. Также getch ().
Реализовано повторно из QIODevice.
Q_LONG QSocket :: readBlock (char * data, Q_ULONG maxlen) [виртуальный]
Считывает maxlen байт из сокета в data и возвращает количество прочитанных байтов. Возвращает -1, если произошла ошибка.Пример: network / networkprotocol / nntp.cpp.
Реализовано повторно из QIODevice.
Q_ULONG QSocket :: readBufferSize () const
Возвращает размер буфера чтения.См. Также setReadBufferSize ().
QString QSocket :: readLine () [виртуальный]
Возвращает строку текста, включая завершающий символ новой строки (\ п). Возвращает «», если canReadLine () возвращает FALSE.См. Также canReadLine ().
Примеры: сеть / clientserver / client / client.cpp, network / httpd / httpd.cpp, network / mail / smtp.cpp и network / networkprotocol / nntp.cpp.
void QSocket :: readyRead () [сигнал]
Этот сигнал выдается каждый раз, когда появляются новые входящие данные.
Имейте в виду, что новые входящие данные сообщаются только один раз; если ты не читать все данные, этот класс буферизует данные, и вы можете прочитать их позже, но сигнал не выдается, если не поступают новые данные. Хорошая практика — прочитать все данные в слоте, подключенном к этому сигналу, если вы не уверены, что вам нужно получить больше данных, чтобы иметь возможность их обрабатывать.
См. Также readBlock (), readLine () и bytesAvailable ().
Примеры: сеть / clientserver / client / client.cpp, network / httpd / httpd.cpp, network / mail / smtp.cpp и network / networkprotocol / nntp.cpp.
void QSocket :: setReadBufferSize (Q_ULONG bufSize)
Устанавливает размер внутреннего буфера чтения QSocket равным bufSize .Обычно QSocket считывает все данные, которые доступны из рабочего системная розетка. Если размер буфера ограничен определенным размером, это означает, что класс QSocket не буферизует данные, превышающие этот размер.
Если размер буфера чтения равен 0, буфер чтения не ограничен и все входящие данные буферизуются.Это значение по умолчанию.
Если вы читаете данные в сигнале readyRead (), вам не следует использовать это вариант, так как это может замедлить вашу программу излишне. Этот вариант полезно, если вам нужно читать данные только в определенные моменты времени, например, в приложение для потоковой передачи в реальном времени.
См. Также readBufferSize ().
void QSocket :: setSocket (int socket) [виртуальный]
Устанавливает сокет на использование socket и состояние () на Connected. Розетка должна быть уже подключена.Это позволяет нам использовать класс QSocket в качестве оболочки для других типы сокетов (например, сокеты домена Unix).
Пример: network / httpd / httpd.cpp.
void QSocket :: setSocketDevice (QSocketDevice * device) [виртуальный]
Устанавливает внутреннее устройство сокета как устройство . Передающий прибор 0 приведет к использованию внутреннего сокета. любой существующее соединение будет отключено перед использованием нового устройства .Новое устройство не следует подключать до привязки с QSocket; после установки вызова сокета connectToHost () на установить связь.
Эта функция полезна, если вам нужно создать подкласс QSocketDevice и хотите использовать QSocket API, например, для реализации домена Unix Розетки.
Смещение QSocket :: size () const [виртуальный]
Возвращает количество входящих байтов, которые можно прочитать прямо сейчас (как bytesAvailable ()).Переопределено из QIODevice.
int QSocket :: socket () const
Возвращает номер сокета или -1, если в данный момент сокета нет.QSocketDevice * QSocket :: socketDevice ()
Возвращает указатель на внутреннее устройство сокета.Обычно нет необходимости напрямую манипулировать устройством розетки поскольку этот класс выполняет необходимую настройку для большинства приложений.
Состояние QSocket :: state () const
Возвращает текущее состояние сокет-соединения.См. Также QSocket :: State.
Примеры: network / clientserver / client / client.cpp и network / networkprotocol / nntp.cpp.
int QSocket :: ungetch (int ch) [виртуальный]
Эта реализация виртуальной функции QIODevice :: ungetch () добавляет символ ch в буфер чтения так, чтобы следующий read возвращает этот символ как первый символ вывода.Переопределено из QIODevice.
Q_ULONG QSocket :: waitForMore (int msecs, bool * timeout) const
Подождите мсек миллисекунд, чтобы стали доступны дополнительные данные.Если msecs равно -1, вызов будет заблокирован на неопределенный срок.
Возвращает количество доступных байтов.
Если тайм-аут не равен нулю и ошибки не возникло (т.е. return -1): эта функция устанавливает * timeout в ИСТИНА, если причина для возврата было то, что истек тайм-аут; в противном случае он устанавливает * таймаут на ЛОЖЬ.Это полезно, чтобы узнать, закрыл соединение.
Предупреждение: Это блокирующий вызов, и его следует избегать в случае управляемые приложения.
См. Также bytesAvailable ().
Q_ULONG QSocket :: waitForMore (int msecs) const
Это перегруженная функция-член, предоставленная для удобства. По сути, он ведет себя так же, как и вышеуказанная функция.Q_LONG QSocket :: writeBlock (const char * data, Q_ULONG len) [виртуальный]
Записывает в сокет len байт из данных и возвращает количество записанных байтов.Возвращает -1, если произошла ошибка.Пример: network / networkprotocol / nntp.cpp.
Реализовано повторно из QIODevice.
Этот файл является частью набора инструментов Qt. Авторские права © 1995-2005 Троллтех. Все права защищены.
Общие сведения о перенаправлении портов — руководство для начинающих
Что такое переадресация портов ? и что он делает?
Переадресация портов — это метод, который используется для предоставления внешним устройствам доступа к компьютерным службам в частных сетях.
Он делает это путем сопоставления внешнего порта внутреннему IP-адресу и порту.
Большинство приложений для онлайн-игр потребуют от вас настройки переадресации портов на домашнем маршрутизаторе.
Чтобы понять переадресацию портов, вам необходимо понять, что такое порт TCP / IP и как порты и IP-адреса используются вместе.
Вам также нужно будет оценить разницу между внутренним и внешним IP-адресами и внутренними и внешними портами.
Порты TCP / IP
Порт TCP / UDP определяет приложение или службу на машине в сети TCP / IP.
В сети TCP / IP каждое устройство должно иметь IP-адрес.
IP-адрес идентифицирует устройство .
Однако устройство может запускать нескольких приложений / служб .
Порт определяет приложение / службу , работающую на машине.
Использование портов позволяет компьютерам / устройствам запускать несколько служб / приложений.
Стандартные номера портов назначаются серверным службам (0-1023) органом Internet Assigned Numbers Authority (IANA). например, веб-серверы обычно используют порт 80 и SMTP-серверы используют порт 25 .
Комбинация IP-адреса и порта известна как сокет . См. Раздел Общие сведения о портах и сокетах TCP / IP
Например, . Представьте, что вы сидите дома за компьютером и у вас открыты два окна браузера.Один смотрит на сайт Google, другой — на Yahoo.
соединение с Google будет:
Ваш компьютер — IP1 + порт 2020 ——– Google IP2 + порт 80 (стандартный порт)
соединение с Yahoo будет:
наш ПК — IP1 + порт 2040 ——– Yahoo IP3 + порт 80 (стандартный порт)
Примечания : IP1 — это IP-адрес вашего ПК. Номера портов клиента: , динамически назначаемые , и их можно повторно использовать после закрытия сеанса.
Возврат к переадресации порта. .
В домашних или небольших офисных сетях маршрутизатор использует NAT (преобразование сетевых адресов), что позволяет внутренним устройствам совместно использовать один внешний IP4-адрес.
IP-адреса во внутренней сети являются частными адресами и не маршрутизируются в Интернете.
Внешние компьютеры или устройства видят только общедоступный IP-адрес, назначенный интерфейсу NAT-маршрутизатора .
Маршрутизатор NAT отображает внутренний IP-адрес + внутренний порт на внешний IP-адрес + внешний порт .
Внешние устройства отправляют пакеты на внешний IP-адрес и порт.
Маршрутизатор NAT сопоставляет эти пакеты и повторно передает эти пакеты во внутренней сети на внутренний IP-адрес и внутренний порт .
Порты, используемые NAT, обычно назначаются случайным образом, что нормально, когда сеанс инициируется из внутренней сети.
Однако, если вы хотите, например, разместить веб-сайт во внутренней сети и этот веб-сайт должен быть доступен для внешних клиентов, вам нужно будет использовать стандартный порт ( порт 80 для http) , поскольку внешний клиент ожидает этого. .
Для этого вы статически сопоставляете внешний IP-адрес + порт 80 с внутренним IP-адресом веб-сервера + порт 80 . – Это переадресация портов.
Для домашних пользователей наиболее частой причиной использования переадресации портов являются игры.
Включение переадресации портов и проверка открытых портов
Перед настройкой переадресации порта вам необходимо настроить статический IP-адрес для внутреннего устройства.
Этот шаг важен, так как пересылка будет настроена на отправку пакетов на внутренний IP-адрес .
В зависимости от вашего приложения вам может потребоваться список портов , которые должны быть доступны из внешней сети (например, из Интернета) и перенаправлены во внутреннюю сеть.
Чтобы настроить переадресацию портов на маршрутизаторе , вам потребуются права администратора.
На этом сайте есть подробное руководство по сотням маршрутизаторов, а также списки портов для многих игр / приложений.
Независимо от того, как именно вы его настраиваете, поскольку он зависит от устройства, вы, по сути, создаете таблицу сопоставления , которая отображает внешний адрес и порт на внутренний адрес и порт.
В этом видео показано, как настроить переадресацию портов на домашнем концентраторе BT.
В этом видео показано, как настроить его на маршрутизаторе Linksys . Здесь также показано, как установить статический IP-адрес для вашего компьютера.
После того, как перенаправил порты , вы можете проверить, действительно ли они открыты, с помощью средства проверки открытых портов.
Подключение к перенаправленному порту
Чтобы подключиться к перенаправляемому порту из Интернета, вам необходимо знать внешний IP-адрес маршрутизатора и номер порта , который был перенаправлен.
Однако использование IP-адреса вместо имени домена не очень удобно, кроме того, внешний IP-адрес может измениться, так как большинство провайдеров назначают эти адреса, используя DHCP .
Следовательно, при использовании переадресации портов вы также можете рассмотреть возможность использования динамического DNS.
Пример переадресации порта
Ниже приведен снимок экрана с конфигурацией моего домашнего маршрутизатора, на котором показаны перенаправленные порты.
Обратите внимание, что на моем маршрутизаторе нет поля для внешнего IP-адреса, поскольку в этом нет необходимости.
Однако некоторые так и поступают, и обычно затем настраивается на 0.0.0.0.
Проверка открытых портов
На скриншоте выше видно, что я открыл порты 1800, 1884 и 8884.
Я использовал онлайн-проверку открытых портов, чтобы проверить эти порты, а также тот, который не должен быть открыт, и вы можете увидеть результаты ниже.
Примечание. Я скрыл свой внешний IP-адрес из соображений безопасности.
Резюме
Переадресация портов Сопоставляет внешние IP-адреса и порты с внутренними IP-адресами и портами, обеспечивая доступ к внутренним службам из Интернета.
Он настроен на домашних маршрутизаторах и необходим, поскольку домашние маршрутизаторы используют NAT, который изолирует домашнюю сеть от Интернета.