Berkus
so long чятик, and thanks for all the SIGSEGVs
Cuno
wut
Olesya
о божи, действительно))))
Olesya
меня интересует другое - кто догадался написать либу, где картинка обязательно должна храниться в трёх флоатовских массивах
Ostap ꑭ
Matwey
Olesya
ни. lear_gist
Nikolai
Александр
Куда @berkus пропал?
Александр
Нет, он из чата вышел
Александр
vladislav
ну надоели человеку чатики, что тут такого
Igor
Куда @berkus пропал?
он ещё на той неделе ворчал что засиделся и пора переставать действовать нам на нервы( Ctrl+F на "да я не ругаюсь"
Samat
В супапро беркус остался, а в про нет. Супапро > про
Frank
Кто может с линуксом помочь?
Frank
Нужно подсчитать кол-во пустых строк в файле
Frank
Не с плюсами(
Крылатый
Frank
Жаль, ладно
🐼 Sild
я просто оставлю это здесь grep -E "^$" | wc -l
Frank
Спасибо
Olesya
а никто (вдруг) не знает либ, которые умеют gist считать (это глобальный дескриптор у картинок)? в opencv нет такого, lear_gist чо т пипец долгий, мож что пооптимальнее есть по скорости?
Olesya
libGist - та же фигня, там тот же исходник лежит)
Alexander "SonnySlave"
можешь сама написать хеш какой-нибудь простой
Artemii
bool test_sock(string ip_addr, unsigned short port){
int sock;
sockaddr_in addr;
sock = socket(AF_INET, SOCK_STREAM, 0);
if(sock < 0)
{
perror("socket");
return false;
}
addr.sin_family = AF_INET;
addr.sin_port = htons(port);
addr.sin_addr.s_addr = htonl(inet_addr(ip_addr.c_str()));
if(connect(sock, (sockaddr *) &addr, sizeof(addr)) < 0)
{
perror("connect");
return false;
}
cout << "OK" << endl;
return true;
}
Может кто подсказать, что не так делаю? В цикле вызываю эту функцию по нескольким айпи, срабатывает только для первого, а на остальных виснет на connect().
Alexander "SonnySlave"
будет тебе дескприптор
Alexander "SonnySlave"
Alexander "SonnySlave"
gist - это дерево поисковое
Olesya
я про дескриптор, который так называется
Anatoliy
Alexander "SonnySlave"
профильни кодяру
Olesya
потому и спрашиваю, вдруг народ готовое знает
Alexander "SonnySlave"
профильнуть - час максимум займёт 😊
Max
Artemii
Второй не отвечает, но должна ошибка пойматься, а тут просто виснет
Artemii
А, хотя стоп
Artemii
Сейчасв консоль глянул, там где-то через пару минут появилось
connect: Connection timed out
Можно как-то дефолтный таймаут уменьшить?
Max
man setsockopt
Oleg
и тогда цикл и не нужен по факту
Matwey
Oleg
Это будет плохо работать с UDP
почему плохо? там просто вроде немного по другому с ними надо работать, но на счет того что "плохо" я не вкурсе
Matwey
Будут проблемы с подстановкой обратного адреса
Matwey
Обрати внимание, что ntpd например биндит по сокету на каждый интерфейс из-за этого
Max
Так он не биндит свои адреса, он делает пачку подключений к чужим.
Max
Если надо биндить, то ему надо выкинуть свой код и написать новый.
Matwey
Дело в том, что теряется информация о том, на какой адрес тебе прислали пакет. А маршрутизация в Linux destination-based. И возможно такая ситуация, что при наличии хитрых маршрутов, ты начнешь отвечать не с того IP адреса, на который тебе прислали запрос
Max
а, я понял о чём ты.
Matwey
Вот именно за этим тут открыто по сокету на интерфейс:
udp 0 0 172.20.2.237:ntp *:*
udp 0 0 192.168.184.1:ntp *:*
udp 0 0 localhost:ntp *:*
udp 0 0 *:ntp *:*
udp 0 0 fe80::529a:4cff:fec:ntp *:*
udp 0 0 fe80::fc54:ff:fe96::ntp *:*
udp 0 0 localhost:ntp *:*
udp 0 0 *:ntp *:*
Max
я хз, но мне кажется, что если пакет пришёл на какой-то определённый сокет, то и назад он скорее всего дойдёт. Иначе, админ — ССЗБ.
Matwey
Неа, UDP - это stateless штука
Matwey
Там нет вперед и назад
Matwey
Там есть только датаграммы
Max
ну или если хитрая маршрутизация нужна, то и всё равно её пилить придётся.
Matwey
Ща, вспомнию, как же там было.
Matwey
Вернее, дойти то он может и дойдет
Matwey
Но на том конце очень удивятся, что прислал его не тот IP куда они слали запрос
Matwey
Вот так будет
Max
Не вижу, чем тут поможет bind на 0.0.0.0. Да и вообще, подобную маршрутизацию стоит делать настройками сети, а не хардкодом.
Matwey
Bind на 0.0.0.0 как раз не поможет
Vladislav
bool test_sock(string ip_addr, unsigned short port){
int sock;
sockaddr_in addr;
sock = socket(AF_INET, SOCK_STREAM, 0);
if(sock < 0)
{
perror("socket");
return false;
}
addr.sin_family = AF_INET;
addr.sin_port = htons(port);
addr.sin_addr.s_addr = htonl(inet_addr(ip_addr.c_str()));
if(connect(sock, (sockaddr *) &addr, sizeof(addr)) < 0)
{
perror("connect");
return false;
}
cout << "OK" << endl;
return true;
}
Может кто подсказать, что не так делаю? В цикле вызываю эту функцию по нескольким айпи, срабатывает только для первого, а на остальных виснет на connect().
адреса не отвечают, ни ack ни rst. вариантов масса, таймаут установить, неблокирующий сокет использовать и т.п, в зависимости от нужной логики
Никита
Всем привет, очень бы хотелось узнать, есть ли возможность создавать ботов в телеграме при помощи c++, если кто-нибудь знает , где можно почитать про это или тп скиньте ссылку.Заранее спасибо.
Ostap ꑭ
Никита
@foxcpp
так, и что мне с этим делать)
Никита
спасибо
Anonymous
bool test_sock(string ip_addr, unsigned short port){
int sock;
sockaddr_in addr;
sock = socket(AF_INET, SOCK_STREAM, 0);
if(sock < 0)
{
perror("socket");
return false;
}
addr.sin_family = AF_INET;
addr.sin_port = htons(port);
addr.sin_addr.s_addr = htonl(inet_addr(ip_addr.c_str()));
if(connect(sock, (sockaddr *) &addr, sizeof(addr)) < 0)
{
perror("connect");
return false;
}
cout << "OK" << endl;
return true;
}
Может кто подсказать, что не так делаю? В цикле вызываю эту функцию по нескольким айпи, срабатывает только для первого, а на остальных виснет на connect().
короче, addr.sin_addr.s_addr = htonl(inet_addr(ip_addr.c_str()));
inet_addr возращает уже в сетевом порядке, ты случаем в первый раз не 8.8.8.8 проверяешь?
Danil
А подскажите, я правильно понимаю, что для gcc -std=gnu++03 то же самое что -std=gnu++98?
Anonymous
Anonymous
Vladislav
Serhii
вечер добрый
Serhii
нет ни у кого Дейтела 10 издание в pdf?
Stanislav