170 похожих чатов

Парни, такой вопрос. Падает прога на данном участке кода,

может кто объяснить, почему?

asio::io_service io_service;

std::vector<asio::ip::tcp::socket> sockets{};

asio::ip::tcp::acceptor acceptor(io_service, asio::ip::tcp::endpoint(asio::ip::address::from_string("127.0.0.1"), 59999));

std::array<unsigned char, 65536> temp_buffer;

std::string temp_str_buff;

std::thread first([&temp_str_buff, &stop_receiving_data, &sockets, &temp_buffer, &counter, &acceptor, &io_service]
{
while (1)
{
if (stop_receiving_data != true)
{
sockets.emplace_back(io_service);
asio::ip::tcp::socket& socket{ sockets.back() };

acceptor.accept(socket);

socket.read_some(asio::buffer(temp_buffer));

std::array<unsigned char, 65536>::iterator it = std::find(temp_buffer.begin(), temp_buffer.end(), '*');

std::copy(temp_buffer.begin(), temp_buffer.begin() + std::distance(temp_buffer.begin(), it), std::back_inserter(temp_str_buff));

std::string label;
std::string encrypted_label_and_choice;

std::string delimeter = "\n";

size_t pos = 0;

while ((pos = temp_str_buff.find(delimeter)) != std::string::npos)
{
label = temp_str_buff.substr(0, pos);
temp_str_buff.erase(0, pos + delimeter.length());
encrypted_label_and_choice = temp_str_buff.substr(0, temp_str_buff.size()-1);
break;
}

std::cout << label << " --- " << encrypted_label_and_choice << endl << endl;

counter.get_label_and_endcrypted_lbl_and_choice().push_back({ label,encrypted_label_and_choice });

socket.close();
}
else
{
break;
}
}

});
system("pause");
stop_receiving_data = true;

acceptor.close();
first.join();

7 ответов

14 просмотров

На pastebin

на pastebin эту портянку, плиз

а где задается значение temp_str_buff? А то там дальше temp_str_buff.size()-1 а на нулевом размере будет бо-бо

Gabriel- Автор вопроса
Егор (Дима)
а где задается значение temp_str_buff? А то там д...

std::copy(temp_buffer.begin(), temp_buffer.begin() + std::distance(temp_buffer.begin(), it), std::back_inserter(temp_str_buff));

Gabriel- Автор вопроса
Alexander N
На pastebin

Есть варианты?

Gabriel
Есть варианты?

А дебаггинг там с брейпоинтами был уже?

Похожие вопросы

Обсуждают сегодня

Господа, а что сейчас вообще с рынком труда на делфи происходит? Какова ситуация?
Rꙮman Yankꙮvsky
29
А вообще, что может смущать в самой Julia - бы сказал, что нет единого стандартного подхода по многим моментам, поэтому многое выглядит как "хаки" и произвол. Короче говоря, с...
Viktor G.
2
30500 за редактор? )
Владимир
47
а через ESC-код ?
Alexey Kulakov
29
Гайс, вопрос для разносторонее развитых: читаю стрим с юарта, нада выделять с него фреймы с определенной структурой, если ли чо готовое, или долбаться с ринг буффером? нада у...
Vitaly
9
Чёт не понял, я ж правильной функцией воспользовался чтобы вывести отладочную информацию? но что-то она не ловится
notme
18
У меня есть функция где происходит это: write_bit(buffer, 1); write_bit(buffer, 0); write_bit(buffer, 1); write_bit(buffer, 1); write_bit(buffer, 1); w...
~
14
Добрый день! Скажите пожалуйста, а какие программы вы бы рекомендовали написать для того, чтобы научиться управлять памятью? Можно написать динамический массив, можно связный ...
Филипп
7
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
длина пакета фиксированная, или меняется?
Okhsunrog
7
Карта сайта