LINUX.ORG.RU

Сообщения quest

 

архитектура сервиса типа ICQ

Предположим стоит задача создать что-то типа ICQ с сервером и множеством клиентов которые изредка могут что-то передавать через сервер друг другу.

Вопрос:
как бы вы сделали подключение клиентов к серверу через постоянные соединения либо через соединения типа HTTP (запрос-ответ) ?

постоянные соединения:
+:
скорость обмена, нет необходимости открывать соединение когда нужно передать инфу (открытие соединения достаточно медленная операция)

чуть меньший трафик на протокол

-:
в пустую расходуются сокеты не занятые обменом, может из 1000 открытых сокетов реально что-то передавать будут 10

соединения типа HTTP (запрос-ответ):
+:
сокеты не простаивают

-:
долгое открытие соединения

чуть больший трафик на протокол



что скажете?!

quest
()

pthread_cond_wait/pthread_cond_signal

В упор не понимаю фразы «Следует всегда вызывать pthread_cond_signal() под защитой мьютекса, используемого с сигнальной переменной состояния. В ином случае переменная состояния может измениться между тестированием соответствующего состояния и блокировкой в вызове pthread_cond_wait(), что может вызвать бесконечное ожидание.»

Что они имеют ввиду? Что pthread_cond_wait был вызван без использования мьютекса (передали NULL ?)

quest
()

ABS и длина тормозного пути

Утверждается что при наличии ABS тормозной путь сокращается.

Каким образом? Ведь из физики (http://tpmrgotups.narod.ru/tm/statika/4.htm) сила трения качения меньше силы трения скольжения и по идее заблокированные колеса должны остановиться быстрее?

Не будем брать в расчет управляемость, что скажете именно про тормозной путь?

quest
()

flash

Пожалуйста ответьте на несколько простых вопросов:

1) Правильно ли я понимаю что во flash можно открыть сокет и читать/писать данные из него?

2) Сокет может жить все время жизни программы?

3) Если такое есть то конечно я могу написать своего HTTP клиента, но наверняка есть встроенные функции для работы с HTTP?

4) Как встроенная функция HTTP GET запроса обработает HTTP Redirect(301,302) ? вернет программе ответ HTTP сервера и программа будет решать что делать дальше либо автоматически перейдет по редиректу?

quest
()

прокрутка чата

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

quest
()

сдать товар

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

quest
()

enum

хочу странного, хочу в своем namespace объявить некие константы, например LOG_INFO, проблема в том что LOG_INFO уже объявлен дефайном в <syslog.h> но ведь дефайн он глобальный, а у меня namespace... что-то туплю...

#include <syslog.h>

namespace z
{
//const int LOG_INFO = 0;
//typedef enum { LOG_INFO } y;

}

int main()
{
    return 0;
}
quest
()

/proc/X/fd/

передположим есть некая программа, я захожу в /proc/X/fd/ и вижу там @14 -> socket:[6711]. 6711 видимо дескриптор сокета, а можно ли узнать подробности по этому сокету? куда приконектились, по какому адресу, по какому порту?

quest
()

Intel® Embedded Server RAID Technology II

Подошел я сегодня к компутеру с центос, снес ее и начал ставить проваславный Debian GNU/Linux... И выяснилось что компутер умеет грузиться только со встроенного RAID недоконтроллера (в bios можно выбрать загрузку либо с CDROM либо с RAID причем без разницы собран RAID массив или разобран). Так вот Debian видит этот RAID как некий RAID read only...

Мать Intel® Server Board S5000VCL Дрова есть только под RH и SUSE причем в ввиде огромного количества образов дискет: http://downloadcenter.intel.com/SearchResult.aspx?lang=eng&ProductFamily=Serv...

Кто нибудь с таким сталкивался? Как лечить?

quest
()

Roadsend PHP: Raven (rphp)

Кто нибудь это собирал http://code.roadsend.com/rphp ? Делаю все как написано, получаю бинарник который даже запускается и выдает help, но выполнить или скомпилировать helloworld.php он не может? молчит при запуске и все хотя php этот скрипт выполняет(

quest
()

service down

есть скрипт который тестирует работу определенного сервиса и в случае
если он не пашет пииищщщит.

сейчас я сделал так:
beep -l 300 -f 6000; beep -l 600 -f 4000; beep -l 1000 -f 1000

может предложите лучшую мелодию «остановки» ? )))

quest
()

tcp proxy

посоветуйте простой tcp proxy чтобы:
- создавал пул тредов количество которых можно задавать
- создавал очередь свободных тредов
- в идеале мог пробрасывать больше чем один порт

quest
()

iptables перенаправить пакет, дубль 2

В предыдущей серии:

в инете есть машина с ip1 и есть машина с ip2. нужно tcp пакеты приходящие на ip1:9000 перенаправлять на ip2:9001.

на машине с ip1 сделано:

echo 1 > /proc/sys/net/ipv4/ip_forward

iptables -P FORWARD ACCEPT

iptables -A PREROUTING -t nat -j DNAT -p tcp -d ip1 --dport 9000 --to-destination ip2:9001

iptables -A POSTROUTING -t nat -j SNAT --to-source ip1 -d ip2 -p tcp --dport 9001

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

если нельзя то что можно потюнить для минимизации тормозов?

на ip1 и ip2 идентичные сетевые настройки (sysctl), количество максимальное соединений в настройках резко увелечино. тормоза при работе проявляются так: ping до ip1 резко возрастает, рулить ей по ssh становится практически невозможно, при этом процессор не загружен, ping до ip2 нормальный, процессор не загружен...

quest
()

iptables перенаправить пакет

подскажите пожалуйста, в инете есть машина с ip1 и есть машина с ip2. как пакеты приходящие на ip1:9000 перенаправлять на ip2:9001 ?

на машине с ip1 пишу: echo 1 > /proc/sys/net/ipv4/ip_forward

iptables -P FORWARD ACCEPT

iptables -A PREROUTING -t nat -j DNAT -p tcp -d ip1 --dport 9000 --to-destination ip2:9001

iptables -A PREROUTING -t nat -j DNAT -p udp -d ip1 --dport 9000 --to-destination ip2:9001

quest
()

два монитора

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

quest
()

собрать компутер

хочется странного... с одной стороны компутер формфактора «повесить на стену в туалете» с другой это должна быть достаточно мощная linux машина под apache/php/postgresql...
подскажите пожалуйста по комплектующим.

1) корпус: что-то что вешается на стену и во что можно запихнуть все остальное
2) мать: два встроенных эзернет порта (на внешнюю сетку и на внутреннюю), поддержка как минимум 4 гигов памяти, поддержка многоядерного проца
3) проц: что-то многоядерное под linux, не обязательно x86
4) винт: что то пусть небольшое но очень быстрое на флеше и очень жувучее под базу и ВОЗМОЖНО второй обычный для всего остального.

1) ?
2) MSI Fuzzy RS690E ?
3) AMD Phenom II X4 / AMD Phenom II X6 ?
4) Intel X25-M G2 ?

quest
()

Электростимулятор мышц

Давно хотел спросить неужели эта ботва работает? http://market.yandex.ru/search.xml?text=электростимулятор Если работает поочему этим не пользуются массово? Если не работает то кто это покупает? )))

quest
()

[опрос] мелочь

куда вы ее деваете?
1) хожу с ней и расплачиваюсь
2) коплю дома и время от времени беру
3) коплю дома и иногда преобразую в более крупные деньги
4) коплю дома и не знаю куда ее девать

 

quest
()

pthread_create + fork

столкнулся тут что при создании потока pthread_create и последующего fork и умирания родителя - умирает и поток. как-то можно изменить это поведение?

quest
()

nginx + php + curl

Подскажите по настройке этой связки плиз.
Система Debian GNU/Linux, стоят пакеты:
nginx 0.7.67-3
php5 5.3.3-4
php5-cgi 5.3.3-4
php5-cli 5.3.3-4
php5-common 5.3.3-4
php5-curl 5.3.3-4
php5-gd 5.3.3-4
php5-imagick 3.0.0~rc1-1
php5-mcrypt 5.3.3-4
php5-memcache 3.0.4-4
php5-mysql 5.3.3-4
php5-recode 5.3.3-4
php5-suhosin 0.9.32.1-1
curl 7.21.2-1
libcurl3 7.21.2-1

Все вроде настроено, проблема в следующем:
Есть php скрипт использующий curl_init(), curl_setopt(), curl_exec().
Если я вызываю его как php -f test.php то он прекрасно отрабатывает,
если я вызываю wget 'http://127.0.0.1:80' то он ОТРАБАТЫВАЕТ но возвращает ошибку curl_exec...


php -f это пакет php5-cli, когда мы заходим по http то дергаем nginx а он уже /usr/bin/php5-cgi из пакета php5-cgi...

как, что и где донастроить чтобы оно взлетело и из под nginx ?
сам php повторюсь работает (условно печатает «hello world»), но функции curl из него не работают будучи запущенными из nginx-php-cgi а не из php-cli...

quest
()

RSS подписка на новые темы