LINUX.ORG.RU

Избранные сообщения keeper_b

В каком виде гонять данные между клиентом и сервером

Форум — Development

Привет, эксперты. Нужно придумать какой-нибудь протокол обмена между клиентом и сервером по сетке (транспорт TCP).

Данные гоняются всякие разные:

  • Авторизация клиента на сервере по логину-паролю
  • Получение клиентом настроек некоей «системы» с сервера
  • Отправка команд клиентом на сервер (сделай то-то, поменяй настройки такого-то компонента «системы»)
  • Получение клиентом различных списков с сервера (события, ошибки, отчеты)
  • Получение клиентом данных о состоянии компонентов системы (числа, графики)
  • Получение клиентом документов с сервера (текст отчетов)

Может что-то еще, о чем я забыл упомянуть.

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

Соответственно, может есть какие-нибудь банальные инструменты и популярные подходы, которыми решаются подобные задачи? Пока смотрю в сторону отправки данных в формате json или xml, слать в виде: пара байт на длину сообщения_тело сообщения (json или xml). Возможно, в будущем этот трафик надо будет шифровать.

 ,

s3rjke
()

PR_IO_TIMEOUT_ERROR

Форум — Linux-org-ru

У меня одного сайт через раз открывается? Постоянно «Время ожидания соединения истекло» «При соединении с www.linux.org.ru произошла ошибка. PR_IO_TIMEOUT_ERROR»

Мегафон, Московская область.

23:03 — заработало нормально, вроде.

 

question4
()

Гайд: Как избавиться от остатков KDE 4 в Plasma 5 в Gentoo

Форум — General

После того, как я перешел с KDE 4 на Plasma 5, остались некоторые пакеты от 4-й версии. Это прежде всего kdelibs и еще некоторые пакеты, которые, видимо, от них зависели. Мне это все время доставляло некоторый внутренний дискомфорт, потому что некорректно использовать одновременно 2 версии одной платформы. Причем когда от старой версии остались жалкие останки. Во всяком случае, если полностью вычистить старую версию, при возникновении каких-либо неполадок не придется думать про конфликт между версиями. Я так же как и все использовал системный профиль KDE в Gentoo. Так как мейнтейнеры особо не торопятся переводить его на рельсы KDE 5, я решил избавиться от остатков сам.
1. Поскольку в KDE-профиле прописан USE-флаг kde, который и тянет kdelibs и все прочее, то я прежде всего поспешил его переключить на default/linux/amd64/13.0/desktop (профиль №3).
2. Затем нужно вернуть те USE-флаги, которые не требуют библиотек KDE 4 в качестве зависимостей, но необходимы для установки KDE 5. У меня получился вот такой список, который я разместил в своем оверлее. Это то необходимое, которое нужно, чтобы при установленной Plasma 5 соскочить с профиля KDE и перейти на профиль desktop. Если нужно установить Plasma 5 с нуля, то список неполный. Как только представится возможность, я перенесу оставшиеся USE-флаги, необходимые для установки с нуля, из своей локальной /etc/portage/package.use в оверлей, в этот файл.
3. Помимо этого файла, нужно еще в /etc/portage/make.conf прописать еще несколько глобальных флагов: xinerama и xcomposite. Пользователям systemd нужно будет еще добавить systemd и -consolekit.
4. Теперь избавляемся от зависимостей в KDE приложениях. К сожалению KDE Applications 15.04 представляет из себя этакий винегрет из приложений, уже портированных на Frameworks 5, и приложений, оставшихся на kdelibs. К счастью, официальный KDE оверлей предоставляет возможность установить live-ebuild'ы всех приложений, которые на момент написания этого поста прекрасно компиллируются и запускаются. В качестве примера приведу мой сет, который устанавливает все приложения, портированные на Frameworks:

kde-apps/ark:5
kde-apps/dolphin:5
kde-apps/gwenview:5
kde-apps/kmix:5
kde-apps/ksnapshot:5
kde-apps/okular:5
В package.keywords у меня при этом вот что:
kde-apps/ark **
kde-apps/dolphin **
kde-apps/ksnapshot **
kde-apps/okular **
kde-apps/libkipi **
При таком раскладе берутся только live-версии KDE Applications, которые используют уже Frameworks, а не kdelibs.
Как только вы все это дело установите и пересоберете, kdelibs будет успешно вычищен. Вот мой список установленных пакетов из категории kde-base:
rinaldus@home ~ $ eix -I kde-base/
[I] kde-base/kdebase-pam
     Available versions:  9{tbz2}
     Installed versions:  9{tbz2}(19:07:11 25.03.2015)
     Homepage:            http://www.kde.org
     Description:         pam.d files used by several KDE components
Этот единственный пакет требуется для kde-plasma/plasma-workspace-5.2.95.
Еще одно замечание, которое может вас и не коснется, но поскольку я с этим столкнулся, то лучше описать. После перезагрузки я обнаружил, что все в порядке, кроме одного: значки в GTK-приложениях стали буквально гигантскими. Я все это время использовал qtcurve в качестве темы и для GTK, и для KDE. Почему-то GTK-тема слетела в плане величины значков. Поэтому пришлось срочно искать замену. Я нашел x11-themes/clearlooks-phenix в качестве достойной замены, рекомендую. Это не только тема для GTK 2, но и для GTK 3, так что двух зайцев одним ударом. Результат меня порадовал: скриншот 1, скриншот 2
Надеюсь, мой гайд окажется для вас полезным.

ОТРЕДАКТИРОВАНО 17.06.15:
1. Теперь можно поставить стабильные версии kmix-15.04.x и gwenview-15.04.x - они уже переписаны на KF5 и ни с чем конфликтовать не будут.
2. Обновил адрес ссылки со списком из оверлея, потому что там некоторые время назад изменил путь к нему.

ОТРЕДАКТИРОВАНО 01.07.15:
Для Plasma 5.3.2 нужно добавить 2 USE-флага:
kde-plasma/plasma-desktop -qt4
kde-plasma/breeze -qt4
Иначе kdelibs опять вылезет.

 ,

Rinaldus
()