LINUX.ORG.RU

Клиент/серверные сетевые приложения на Python - записки дилетанта (часть 1)

 


1

3

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

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

>>> Статья

★★★★★

Проверено: Shaman007 ()

шрифт стремный, нету картинок. скучно ))

anonymous ()

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

provaton ★★★★★ ()
Ответ на: комментарий от provaton

Наука знает много гитик.... статья не зря так называется, я пишу о чем знаю. О чем не знаю (SimpleXMLRPCServer, например) - не пишу;-)

AIv ★★★★★ ()

Поскольку при генерации этого текста все примеры запускаются автоматически через bash и make, за счет буферизации потоков вывода результат получается иным, но вызовы sys.stdout.flush() позволяют исправить ситуацию.

Лучше запускать интерпретатор с ключиком '-u', вызов flush и комментарий выглядят несколько неуклюже.

baverman ★★★ ()

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

t184256 ★★★★★ ()
Ответ на: комментарий от t184256

Найдите мне пожалуйста указание лицензии в ПРИМЕРАХ КОДА у Марка Лутца. Ы?

AIv ★★★★★ ()
Ответ на: комментарий от t184256

Данная версия программы Hello world распространяется под GPLv2+. LOL

AIv ★★★★★ ()
Ответ на: комментарий от AIv

Найдите мне примеры из Марка Лутца, которым посвящена новость на главной ЛОР. И кыш в микроновости какого-нибудь другого сайта.

t184256 ★★★★★ ()
Ответ на: комментарий от t184256

Новости о книгах Марка Лутца бывают здесь нечасто. Я конечно не он, но судя по ряду тредов здесь же, тема статьи актуальна. Тем более, раз уж про переход на 5ю верию Iceweasel на главной лежитЪ...

Вам не нравится - не читайте. Токо не надо свое мнение выдавать за истину в конечной инстанции, лады?

AIv ★★★★★ ()

#-------------------------------------------------------- зачем ?

if data.__class__ == str : send_string( connect, 'S'+data ) ничегонипонимаю

ggrn ★★★★★ ()
Ответ на: комментарий от ggrn

эквивалентно в некотором смысле type(data) is str

AIv ★★★★★ ()
Ответ на: комментарий от AIv

Я не выдаю, а ожидаю, и не мнение, а пояснения. Примерам же на главной просто не место.

t184256 ★★★★★ ()
Ответ на: комментарий от t184256

Пояснения к чему именно Вы ожидаете?

AIv ★★★★★ ()
Ответ на: комментарий от t184256

- Пeтька, приборы? -200! -Что 200? -А что приборы??

Если хотите получить внятный ответ - внятно формулируйте вопрос. На вопрос по ссылке (че оно тут делает?) ответ - ЛЕЖИТ.

AIv ★★★★★ ()
Ответ на: комментарий от AIv

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

Итак, зачем?

t184256 ★★★★★ ()
Ответ на: комментарий от t184256

Зачем она тут лежит?

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

AIv ★★★★★ ()
Ответ на: комментарий от AIv

А как же тематика сайта? Других ресурсов нет? Белые буквы вверху страницы глаза не режут?

t184256 ★★★★★ ()
Ответ на: комментарий от t184256

А Вы считаете, что эта статья не подходит в раздел документация?

AIv ★★★★★ ()
Ответ на: комментарий от AIv

Да. Ибо документирует нетрадиционно и вообще не ОС Linux.

t184256 ★★★★★ ()
Ответ на: комментарий от t184256

Вы отчасти правы, но ИМНО она ближе именно к документации, чем к какому либо другому разделу.

AIv ★★★★★ ()
Ответ на: комментарий от t184256

Да. Ибо документирует нетрадиционно и вообще не ОС Linux.

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

shty ★★★★★ ()

интересно посмотреть, делал такое же. ссылка чтото не робит.

TheMixa ★★★ ()
Ответ на: комментарий от TheMixa

какая именно ссылка? У меня все робит;-)

AIv ★★★★★ ()
Ответ на: комментарий от shty

Я ответ хотел, но его тут нет. Простите за затянувшуюся дискуссию.

t184256 ★★★★★ ()
Ответ на: комментарий от t184256

А почему же не относится к тематике?Python это важный компонент дистрибутивов Linux. Далее сетевая тематика этот конек Linux как же об этом не писать? А разве кросплатформеннность была когда нибудь негативом?

И на правах юмора: когда это велосипеды не были частью Linux?)Кстати в велосипедостроении нет ничего плохого. Так что статье на главной быть должно)

pylin ★★★★★ ()

я конечно извиниясь но зачем писать на таком «низком» уровне ? Есть же готовые фреймоворки - Twisted например.

SI ★★☆☆ ()
Ответ на: комментарий от SI

а для передачи «объектов» юзать тот же xmlrpc например.

SI ★★☆☆ ()

> Клиент/серверные сетевые приложения на Python - записки дилетанта (часть 1)
На кой ляд на главной записки дилетантов постить? Был бы профи, слова не сказал ;)

rapid ()

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

d9d9 ★★★ ()

Годится для домашней странички васи пупкина. Если бы я работал в «Институте прикладной математики им. М.В.Келдыша РАН», то я бы постеснялся упоминать название института в такой статье.

Reset ★★★★★ ()
Ответ на: комментарий от SI

Нет, в питоне как раз идеологически правильный и гораздо более простой вариант это делать сериализацию через pickle и передавать по сети.

Reset ★★★★★ ()

По нику автора сначала подумал, что это федорчук забрел на лор

overmind88 ★★★★★ ()

Статья интересная, но жуткое ШГ, нет сил читать.

Napilnik ★★★★★ ()

В питоне потоки не работают из-за GIL, используйте multiprocessing

anonymous ()

скоро потребуется спасибо!

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

deity ★★★ ()

OMG - я хочу развидеть такой python style writing

вы молодцы и проделали большую работу, но такое впечатление, что экономили место... нечитабельно же ни хрена ;(

real_maverick ★★★ ()

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

Стиль оформленя кода у автора специфический, но это не суть.

Kostafey ()
Ответ на: комментарий от AIv

> я пишу о чем знаю

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

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

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

anonymous ()
Ответ на: комментарий от AIv

Прочитав статтью, пойму ли я как, напрмиер, отослать 2 цифры от 1 клиента к другому? (нужно для игры, для отсылания текущих координат)

nutz ★★ ()
Ответ на: комментарий от anonymous

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

goingUp ★★★★★ ()

я бы сменил шрифт в первую очередь

anonymous ()

на питоне!!!
Следущая статья-высокопроизводительные приложения на джаваскрипте,или написание сервисов под джава на lua...
ужасть

anonymous ()

И вот нафига её качать? Не мог выложить в штмл?

wlan ★★ ()
Ответ на: комментарий от anonymous

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

Napilnik ★★★★★ ()

Открыл документ, попробовал прочесть. При взгляде на шрифт глаза вытекли из орбит на клавиатуру. А еще - учебное пособие. Хотите сделать подрастающее поколение инвалидами по зрению? Нет, нам такой футбол не нужен (с). Закопал сабж обратно.

iVS ★★★★★ ()

Зачем дилетанты пишут статьи, распространяя своё дилетантство? Лучше бы занялись своим образованием, читая недилетантов.

boo32 ()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.