Можно ли 2 (или 3) раза сделать запись в асинхронный сокет, не дождавшись пред. вызовов?
Т.е. мы 3 раза в асинхр. сокет сделаем write. Так можно делать? Никакой ошибки не будет? А TCP данные не перепутаются у нас в этом случае?
Т.е. мы 3 раза в асинхр. сокет сделаем write. Так можно делать? Никакой ошибки не будет? А TCP данные не перепутаются у нас в этом случае?
Добрый день. А вот качаю я пакеты,например с яндексовского зеркала, и они мне подменят файлик, libopenssl например, и будут мой трафик смотреть. Они (ФСБ) же там собирались трафик хранить. Вот может быть такое и какие у Линукса защиты от этого есть?
День добрый. Поставил свеженький дебиан. И вижу в tcpdump что по такому вот урл на 9001 порт я посылаю какие-то данные. Никто про это ничего не знает? Что это такое?
День добрый. Поставил дебиан, и не пойму что у меня с /home происходит.
Device Boot Start End Sectors Size Id Type
/dev/sda1 * 2048 28186623 28184576 13.5G 83 Linux
/dev/sda2 28188670 234440703 206252034 98.4G 5 Extended
/dev/sda5 28188672 234440703 206252032 98.4G 83 Linux
/home всего 10 гигов, когда как должно быть 100. Никто не знает что происходит и как /home сделать 100 гигов вместо 10?
Значит сокет никуда не добавлен, но сделан асинхронным, и я начинаю в него писать. И он все пишет, но -1 не возвращает. Пишет и пишет. Так и должно быть? Я думал что он должен вернуть -1. Как правильно ПИСАТЬ в асинхронный сокет?
День добрый. Зачем ftp передает данные в новом соединении? Для чего? Почему он не использует старое? И может ли ftp выполнять сразу несколько команд? Например я качаю фильм, одновременно заливаю еще один фильм и в этот же момент хожу по файловой системе. Может такое быть? Я думаю что нет. Тогда почему данные не посылаются через первое соединение? Для чего?
Всем привет! А че там со скоростью у силанга? Оно быстрее чем гцццц? Изучаю гугл - ничего не могу понять.
Всем привет. Тестирую сервер (веб-сервер) на epoll. Включаю браузер и зажимаю F5, в итоге создаю большую нагрузку. Но через некоторое время после нажатия F5 браузер начинает ждать. tcpdump сказал следующее.
Client: SYN: 23232323 Server: SYN, ACK 67676767, 23232324 Client: ACK 1 <----
Какое нахрен ACK 1? Что происходит такое? Это баг какой-то, или у меня руки кривые. Никто не знает что делать/где копать? Должно то быть 67676768, а не 1.
Пишу сервер на epoll, провожу тестирование.
Типа у нас http. Запускаю сервер и в браузере зажимаю F5. И страница начинает обновлятся с неистовой скоростью.
В результате после нескольких сотен (наверное, я не считал) обновлений ВСЕ подключения вылетают с EPOLLHUP. Т.е. подключился, далее делаю epoll_wait и получаю EPOLLHUP.
Как такое поведение объяснить можно?
1) Специальный механизм защиты такой 2) Кривой браузер (Firefox 24.5) 3) Кривой рук (тогда что исправить надо?)
Спасибо за ответы
День добрый. Тернируюсь - пишу асинхронный сервер на select.
Вишу я в select, далее браузером или telnet'ом подключаюсь к серверу и после подключения мое новое подключение не в read_fd_set, а в write_fd_set
if (select(FD_SETSIZE, &t_read_fd_set, &t_write_fd_set, NULL, NULL) < 0)
{
printf("Can't select\n");
return false;
}
Т.е. я подключился telnet'ом, но ничего не записал, accept отработал, это не он. Вот я ничего не записал и сработал select, и какого-то черта мой сокет во write_fd_set. Это же значит что мне туда что-то записать надо? Или что это значит? Кто-нибудь знает что происходит и что мне делать?
Мои мысли что так просто не выйдет нихера и надо читать что-нибудь тяжелое. Однака хотелось бы услышать ответ на мой вопрос.
Заранее спасибо.
Вот есть у нас select. Он ассинхронный. И еще у нас accept есть. Как правильно while в этом случае написать?
while(s.listen() && (s2 = s.accept() != INVALID_SOCKET))
{
printf("Someone is comming: %i\n", s2);
}
Куда тут select вставить?
Здравствуйте. У меня тут одна софтина есть. И вот мне один чел позвонил и попросил портировать прогу на FreeBSD. Я вот даже не знаю че делать-то. Прога на Qt. Че делать-то? С чего начать? Какие там пакеты в бсд этой?
Не могу поставить. Что делать? С чего начать?
Здравствуйте. Надо переименовать имя кутешных дллок. Было libQtCore.so, стало libMyPacketQtCore.so. Это я сделал. Далее надо как-то сказать Qt что именно эти файлы линковать надо. Как это сделать? Я не нашел. Т.е. ldd prog_name показывает что у нас зависимости не от libMyPacketQtCore.so. Везде менял, не знаю как сделать.
Здравствуйте. Есть у меня одна программулина на Qt написанная. Она платная. Хочу я ее на Линукс портировать чтобы народ ее качал, радовался и покупал ее. Прочитав ман о том как сделать пакет возникли вопросы
1) У меня же лицензия есть. Как мне сделать чтобы юзеру надо было «ОК, я согласен» нажать перед установкой? Хотелось бы окно. Там вроде какие-то скрипты есть в DEBIAN (preins, postinst). Вот надо их заюзать как-то.
2) Дебиан (и стабл и тестинг) содержит старое ПО, старее чем говно мамонта. А я с новой версией Куте собирал. И че делать мне теперь? Собирать статически не хочется. Где юзер возьмет новые библиотеки? Или мне их самому распространять?
3) А есть утилитка какая-нибудь которой скормить бинарник а она тебе список зависимостей вывалит? Не ldd, а именно пакетов.
Ну вот вроде бы все вопросы. Кто-нибудь уже пакеты делал?
Есть ли где-то тест скорости С++ компиляторов? Гугл не знает. Кто-нибудь скорость тестил? Какой самый быстрый? ГСС г-но какое-то. Да и мне еще надо и под винду и под линукс компилить. Кто смотрел интеловский компилятор например? Какая у него скорость? Тесты есть где-нибудь? Всем спасибо за ответы.
Вмонтировано у меня две директории как tmpfs (/tmp и /var/tmp). И встала трабла с тем что у меня иногда не хватает места под видео файлы (а это важно, т.к. я их потом часто сохраняю). Это строчки из /etc/fstab
tmpfs /tmp tmpfs noatime,nodiratime 0 0
tmpfs /var/tmp tmpfs noatime,nodiratime 0 0
Значит смотрю че унас есть
$ df | grep tmpfs
tmpfs 5.0M 0 5.0M 0% /lib/init/rw
tmpfs 100M 100K 100M 1% /run
tmpfs 200M 8.0K 200M 1% /tmp
tmpfs 200M 608K 200M 1% /run/shm
tmpfs 500M 204K 500M 1% /var/tmp
И вижу что под /var/tmp выделилось 500 метров а под /tmp 200. И еще кто-то создал 2 папки. Это плохо кароче. Надо сделать одну fmpfs 500 метровую и все туда покидать, и ниче не монтировать больше. Ну с /var/tmp я разрулю. А кто еще создал мне? Кто это может быть и как это разрулить?
Update: Да, у меня нетбук там 1ГБ памяти и пишет он (cat /proc/meminfo) что только 100 метров свободно. И свапа нет. В итоге со хромом ловлю иногда конкретные глюки, которые почти всегда только ребутом лечатся. Надо как-то с tmpfs этими всеми разрулить.
Вот жеж оно как бывает. Значить юзаю хром. Значить смотрю на ютубе фильму. Значит и хочу сохранить себе эту фильму. Значит как я в фаерфоксе делал. Значит захожу в /tmp и там файлик FlashX23094 - ну разное название бывает. Дык вот захожу под хромом, смортю - а в этой папке нет файлов с именем Flash*. Пишу df и вижу что в /tmp убывает размер. Ну думаю, чертовщина. Обыскал все - и не нашел ничего. Ну жесть думаю, и пишу такой lsof /tmp. И вижу след. картину
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
chrome 1952 facelift 31u REG 0,17 43169950 22325010 /tmp/FlashXXwOX8JW (deleted)
lsof 18352 facelift cwd DIR 0,17 220 3852 /tmp
lsof 18352 facelift 1w REG 0,17 0 22495415 /tmp/log
lsof 18356 facelift cwd DIR 0,17 220 3852 /tmp
zsh 18727 facelift cwd DIR 0,17 220 3852 /tmp
такая жесть только что потер файлы проекта. как их восстановит можно?
Хотел без иксов запустить mplayer, с vo=gl. Но не запустился он. Вопрос: ГЛ без иксов не работает? Можно ли сделать так чтобы ГЛ работало без иксов?
Мне просто интересно как это у них в линуксе так устроено что ГЛ без иксов не пашет. Я вот может игруху хочу сделать, спецом без иксов но на ГЛ с 3д графикой. Можно такое сделать?
следующие → |