Основные сокеты процессоров AMD и Intel. Что такое сокет? Что такое сокет в компьютере

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

Давайте внимательно посмотрим на первый снимок данной статьи. Что на нем изображено? Любой человек ответит, что это электрическая розетка. А специалист добавит что она с заземляющим скользящим контактом. Подобные устройства знакомы каждому, так как встречаются повсеместно и всегда на виду. Неудивительно, что их предназначение известно даже ребенку. Электрическая розетка является устройством с двумя (тремя) скользящими контактами, предназначенным для подключения штырьков вилки сетевого шнура. Каким же образом это связано с тем, что такое сокет? На самом деле, связь самая прямая.

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

Очень просто разобраться в том, что такое сокет процессора, если вспомнить, что последний - это и есть микросхема, только относительно крупных размеров. Сокет расположен на материнской плате, внешне выглядит как квадратная пластина с множеством отверстий, количество которых соответствует ножкам процессора. Для надежной фиксации вставленной микросхемы в сокете применяется механическая защелка специальной конструкции. Отметим, что компания Intel, в отличие от AMD, с недавних пор использует иной принцип соединения процессора и платы. На микросхеме никаких ножек нет - вместо них круглые контактные площадки. А подпружиненные ножки-штырьки размещены в сокете. Такая вот конструкция «наоборот».

Иногда на форумах задается вопрос о том, какой сокет выбрать. На самом деле, сначала следует выбрать процессор, а уже под него - плату с соответствующим сокетом. Однако при этом нужно учитывать один важный момент. Компания Intel «славится» тем, что часто каждое новое поколение процессоров предполагает использование нового сокета. Это может привести к тому, что недавно купленный компьютер на базе процессора этой фирмы через несколько лет будет сложно модернизировать из-за несовместимости установленного микропроцессора и новых, предлагаемых рынком. У AMD отношение к покупателям более лояльное: смена сокетов происходит медленнее, обычно сохраняется

Поэтому рекомендация следующая: если компьютер в будущем не планируется модернизировать, то следует выбирать наиболее производительный процессор (на который хватает средств) и плату под него. Для будущих же апгрейдов подойдут сокеты «1155» (Intel) и «AM3+» у AMD (для интегрированной графики - FM сокет).

Сокет (socket) процессора - разъем, место на компьютера куда вставляется процессор. Процессор, прежде чем он будет установлен в материнскую плату, должен подходить ей по сокету. Это как розетка и контактная вилка - стоит ли говорить, что к простой советской розетке евро-вилка не подойдет.

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

Вот представьте - вы пришли в компьютерный магазин, выбрали там процессор, заплатили за него денег и довольные пришли домой, начинаете его устанавливать - а он НЕ ПОДХОДИТ! Вы все бросаете, бежите обратно в магазин, надеясь вернуть этот процессор обратно и тем самым исправить ситуацию, прибегаете, а вам говорят - "это не гарантийный случай, смотреть нужно было внимательней когда покупали". Ну да ладно, это было небольшое лирическое отступление. А теперь поговорим конкретно про эти самые сокеты.

Все многообразие сокетов можно разделить на две большие группы:

  1. Сокеты процессоров компании Intel.
  2. Сокеты процессоров компании AMD.

Ниже приведены фотографии сокетов обеих компаний-производителей процессоров.

На этой фотографии можно заметить, что "ножки" контактов торчат из сокета на материнской плате.

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

Давайте просмотрим, чем же так кардинально отличаются сокеты друг от друга физически :

  • Количеством контактов
  • Типом этих самых контактов
  • Расстоянием креплений для процессорных кулеров
  • Собственно размером самого сокета

Кол-во контактов - их может быть 400, 500, 1000 и даже больше. Как узнать? В маркировке сокета уже содержится вся информация. Например, процессор Intel Pentium 4 имеет сокет LGA 775. Так вот 775 - это как раз количество контактов, а LGA - означает то что процессор не имеет контактных ножек (штырьков), они находятся в сокете материнской платы.

Тип контактов - тут все понятно, либо "штырьки", либо контакты без штырьков. Другого как говорится не дано.

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

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

  • Наличием различных дополнительных контроллеров
  • Наличием или отсутствием поддержки интегрированной в процессор графики (графическое ядро процессора)
  • Более высокими параметрами производительности

На что еще влияет сокет (soket) процессора?

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

Пожалуй, приведу еще несколько моментов, на которые имеет возможность оказывать влияние процессор (или его сокет), иными словами - процессор или его сокет влияют на:

  • Тип поддерживаемой оперативной памяти
  • Частоту шины FSB
  • Косвенно (по большей части - чипсет) на версию слота PCI-e
  • На версию (тоже косвенно)

Для чего вообще нужен сокет?

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

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

Сокет (socket) Процессор
LGA 775 (Socket T), год начала выпуска - 2004 Intel Pentium 4
Pentium 4 Extreme Edition
Intel Celeron D
Pentium D
Pentium Extreme Edition
Pentium Dual-Core
Core 2 Duo
Core 2 Extreme
Core 2 Quad
Xeon (для серверов)
LGA 1366 (Socket B), год начала выпуска - 2008 Intel Core i7 (9xx)
Intel Celeron P1053
LGA 1156 (Socket H), год начала выпуска - 2009 Intel Core i7 (8xx)
Intel Core i5 (7xx, 6xx)
Intel Core i3 (5xx)
Intel Pentium G69x0
Intel Celeron G1101
Intel Xeon X,L (34xx)
LGA 1155 (Socket H2), год начала выпуска - 2011 Sandy Bridge и Intel Ivy Bridge
LGA 1150 (Socket H3), планируемый год выпуска - (2013-2014) Intel Haswell и Intel Broadwell
Socket 939, год начала выпуска - нет данных Athlon 64
Athlon 64 FX
Athlon 64 X2
Socket AM2, год начала выпуска - 2006 Athlon 64 (не все)
Athlon 64 X2 (не все)
Athlon X2
Athlon 64 FX-62
Opteron 12xx
Sempron (некоторые)
Sempron X2
Phenom (ограниченная поддержка)
Socket AM2+, год начала выпуска - 2007 Athlon X2
Athlon II
Opteron 13xx
Phenom
Phenom II
Socket AM3, год начала выпуска - 2009 Phenom II (кроме X4 920 и 940)
Athlon II
Sempron 140
Opteron 138x
Socket AM3+, год начала выпуска - 2011 AMD FX-Series(AMD FX-4100 AMD FX-6100 и AMD FX-8120 AMD FX-8150)
Socket FM1, год начала выпуска - 2011 Все процессоры с микроархитектурой AMD Fusion
Socket FM2, год начала выпуска - 2012 Все процессоры с микроархитектурой Bulldozer

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

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

Одним из значимых шагов по его модернизации является замена процессора на более производительный. Однако здесь возникает несколько проблем, одной из которых является разъем на материнской плате, в который процессор вставляется — сокет. Их существует огромное количество, поэтому если вы просто пойдете в магазин и выберете более мощное «ядро» для своего компьютера, то 99%, что он не сможет работать с установленной материнской платой, поскольку при его выборе нужно обязательно учитывать, для какого именно сокета он сделан. А современные процессоры стоят от пары до десятков тысяч рублей — жалко выкидывать такие деньги на ветер!

Какой лучший сокет процессора?

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

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

На сегодняшний день процессоры производят две конкурирующие фирмы — Intel и AMD, каждый из которых выпускает свои стандарты сокетов. Любая материнская плата работает с одной из этих фирм и содержит один из типов сокетов под процессоры от данных производителей.

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

Сокеты процессоров Intel

  • Устаревшие — LGA 775, 1156, 1366, 2011
  • Современные — LGA 1151, 1150, 1155

Число в названии сокета обозначает количество контактов на поверхности.

Сокеты процессоров AMD

  • Устаревшие — AM2, AM2+
  • Современные — AM3, AM3+, FM1, FM2

Визуально отличить современные сокеты процессоров Intel от AMD очень просто:

  1. Во-первых, на разъеме материнской платы для AMD расположено множество отверстий для контактов, которые в виде штырьков имеются на процессоре. На сокетах же Intel наоборот, сами контакты-ножки, а в процессоре отверстия.
  2. Также отличие в креплении процессора — в сокете Intel по периметру имеется металлическая рамка с защелкой-фиксатором. Процессоры AMD крепятся путем смещения верхней пластины сокета относительно нижней.
  3. И наконец, кулер (вентилятор) у Интел крепится в упомянутых выше отвестиях, а у АМД на специальную пластиковую рамку вокруг сокета. Все эти отличия можно видеть на скриншоте ниже.

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

В описании материнской платы и процессора сокет может оозначаться по-разному, например: «Socket», «S» или просто номер модели.

Рассмотрим для примера системную плату с сокетом Intel и процессор от AMD.

На данном скриншоте отображена плата с сокетом 1155, о чем явно говорит название:
«ASRock H61M-DGS (RTL) LGA1155 PCI-E+Dsub DVI+GbLAN SATA MicroATX 2DDR-III»

А здесь изображена страница с процессором AMD с сокетом FM 2, что видно также из названия:
«ASUS F2A85-V PRO (RTL) SocketFM2 3xPCI-E+Dsub+DVI+HDMI+DP+GbLAN SATA RAID ATX 4DDR-III»

Также модель сокета часто упоминается в описаниях кулеров для того, чтобы пояснить, на какой именно сокет он может быть установлен. Например, в примере ниже из заголовка мы сразу понимаем, с какими сокетами будет работать данный кулер (Intel 775, 1155 и AMD AM2, AM3):
Cooler Master Буран T2 (3пин, 775 / 1155 / AM2 / AM3, 30 дБ, 2200об / мин, тепл.тр.)

При обновлении старого компьютера

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

Открываем крышку компьютера, и ищем на системной плате надпись, указывающую на ее модель. Как правило она имеется, например на следующем изображении мы видим модель GA-870A-UD3 от производителя Gygabite.

Идем на сайте фирмы или просто вбиваем данную модель в поисковик и смотрим подробное описание платы, а именно с какими конкретно моделями процессоров и с каким сокетом она стыкуется.

В нашем примере это процессоры AMD Phenom II или AMD Athlon II с сокетом AM3 — идем в магазин и берем один из них.

Сборка компьютера с нуля

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

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

Замена системы охлаждения

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

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

Здравствуйте уважаемый читатель. Cерия статей об основных параметрах компьютерных процессоров и обо всем что с ними связано в самом разгаре. Если вы не разбираетесь, если вы «чайник» в технике, и не хотите быть обманутым каким-нибудь неопытным продавцом, читайте о socket‘s микропроцессоров и будет все хорошо.

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

Сокетом процессора называют разъем, который имеет:

  • определенный размер
  • разное количество контактов
  • свое название или порядковый номер

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

Разбираемся на примерах

Первый простой пример связан с разъемом для зарядки у смартфонов. У всех же есть сейчас смартфоны? Надеюсь.

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

То есть, процессор с сокетом «А» у нас это ключ, а материнская плата с разъемом под сокет «А» – это замочная скважина. Если они совместимы, все работает. Аналогично и с зарядкой к смартфону.

Интерфейсы двух производителей

Существуют два производителя CPU для компьютеров – Intel и Amd, многим известно. Эти компании между собой конкурируют. Кто из них лучше, обсудим в статье « », так что , чтобы ничего не пропустить.

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

Socket‘s у компании Intel:

Название В описаниях Год появления
T LGA 775 2004 г.
H LGA 1156 2009 г.
H2 LGA 1155 2011 г.
H3 LGA 1150 2013 г.
H3 LGA 1151 2015 г.
R4 LGA 2066 2017 г.
H3 LGA 1151v2 2017 г.

В нынешнее время Socket T или H3 не указывают в характеристиках, вместо этого они обозначены, например, как Socket 775 или 1151 и т.д. Количество контактов указано цифрой после “LGA”.

Socket‘s у компании Amd:

Название Контактов Год появления
AM2 940 2006 г.
AM2+ 940 2007 г.
AM3 938 2009 г.
AM3+ 942 2011 г.
FM2 904 2012 г.
FM2+ 904 2014 г.
AM4 1331 2016 г.
TR4 4094 2017 г.

У них наименование в характеристиках не изменилось. FM2 или AM3+ как был, так и остался.

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

Как обозначаются и куда смотреть

Как определить и на что обращать внимание. Смотреть будете вы, рассказывать я.

Посмотрите список современных микропроцессоров и найдите их названия, которые указывают интернет-магазины и торговые организации:
Нашли в списке семь компьютерных сокетов? Подскажу, смотрите.

Все наименования выделил ярким цветом. Видимо один случайно не выделил. Уже нашли? Надеюсь. Идем дальше…

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

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

  • Для офисных и домашних задач без игр – камень Pentium Gold G5400 и мат. плата MSI H310M PRO-VD
  • Для домашних задач и с возможностью поиграть на средних настройках – Core i3-8100 и MSI H310M PRO-VD
  • Для игрового лучше посмотреть – Core i5-8400 и MSI H310M PRO-VD

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

Какие микропроцессоры подходят и поговорим в отдельных статьях.

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

До встречи в следующих интересных статьях. Пока.

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

Что это

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

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


Рассмотрим это на простом примере. Представим себе большой зал с множеством небольших окошек, за которыми стоят девушки. Есть и пустые окна, за которыми никого нет. Те самые окна - это порты. Там, где стоит девушка - это открытый порт, за которым стоит какое-то приложение, которое его прослушивает. То есть, если, вы подойдете к окошку с номером 9090, то вас поприветствуют и спросят, чем могут помочь. Так же и с сокетами. Создается приложение, которое прослушивает свой порт. Когда клиент устанавливает соединение с сервером на этом порту именно данное приложение будет ответственно за работу этим клиентом. Вы же не подойдете к одному окошку, а кричать вам будут из соседнего:)

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

Сервер

Сейчас создайте два файла - один для сервера, а другой для клиента.

В Python для работы с сокетами используется модуль socket:

Import socket

Прежде всего нам необходимо создать сокет:

Sock = socket.socket()

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

Теперь нам нужно определится с хостом и портом для нашего сервера. Насчет хоста - мы оставим строку пустой, чтобы наш сервер был доступен для всех интерфейсов. А порт возьмем любой от нуля до 65535. Следует отметить, что в большинстве операционных систем прослушивание портов с номерами 0 - 1023 требует особых привилегий. Я выбрал порт 9090. Теперь свяжем наш сокет с данными хостом и портом с помощью метода bind, которому передается кортеж, первый элемент (или нулевой, если считать от нуля) которого - хост, а второй - порт:

Sock.bind(("", 9090))

Теперь у нас все готово, чтобы принимать соединения. С помощью метода listen мы запустим для данного сокета режим прослушивания. Метод принимает один аргумент - максимальное количество подключений в очереди. Напряжем нашу бурную фантазию и вспомним про зал с окошками. Так вот этот параметр определяет размер очереди. Если он установлен в единицу, а кто-то, явно лишний, пытается еще подстроится сзади, то его пошлют:) Установим его в единицу:

Sock.listen(1)

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

Conn, addr = sock.accept()

Вот и все. Теперь мы установили с клиентом связь и можем с ним «общаться». Т.к. мы не можем точно знать, что и в каких объемах клиент нам пошлет, то мы будем получать данные от него небольшими порциями. Чтобы получить данные нужно воспользоваться методом recv, который в качестве аргумента принимает количество байт для чтения. Мы будем читать порциями по 1024 байт (или 1 кб):

While True: data = conn.recv(1024) if not data: break conn.send(data.upper())

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

Теперь можно и закрыть соединение:

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

#!/usr/bin/env python # -*- coding: utf-8 -*- import socket sock = socket.socket() sock.bind(("", 9090)) sock.listen(1) conn, addr = sock.accept() print "connected:", addr while True: data = conn.recv(1024) if not data: break conn.send(data.upper()) conn.close()

Клиент

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

#!/usr/bin/env python # -*- coding: utf-8 -*- import socket sock = socket.socket() sock.connect(("localhost", 9090)) sock.send("hello, world!") data = sock.recv(1024) sock.close() print data

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