gpt4 book ai didi

c++ - 代码中的随机错误

转载 作者:搜寻专家 更新时间:2023-10-31 00:14:34 25 4
gpt4 key购买 nike

我有一个功能,它必须搜索网络中的所有 pc 并寻找响应:

DLL void get_remote_ip(void)
{
initWSA();
if(create_Sockets() == INVALID_SOCKET)
{
std::cerr << "Socket Error\n";
return;
};
initiate_TXRX_variables();
boost::asio::io_service io_service;
udp_server_search server(io_service);
std::cout << "No crash till here\n";
boost::thread thread_1 = boost::thread(ultra_spam_network_udp);
boost::asio::deadline_timer dt1 = boost::asio::deadline_timer(io_service);
boost::thread thread_2(boost::bind(&boost::asio::io_service::run, &io_service));
dt1.expires_from_now(boost::posix_time::milliseconds(2000));
dt1.wait();
//ip_adr_ccd = server.return_ip(0);
if(ip_adr_ccd != "localhost" && ip_adr_daisy != "localhost")
{
std::cout << "Remote IP of CCD is: " << ip_adr_ccd << '\n';//For debug
std::cout << "Remote IP of TERS is: " << ip_adr_daisy << '\n'; //For debug
}
else
std::cout << "No new remote ips found\n";
//std::cout << Use << '\n';
//thread_1.join();
}

当我调用这个函数时,我的程序有时会崩溃但不会告诉我原因,它只是告诉我“ 中的异常错误”。我的错误在哪里?是否有可能一个线程尝试加入,但另一个线程现在还没有完成(这可能是因为错误是随机的,并且在写入时杀死了主线程的 std::cout 输出)?
谢谢!

最佳答案

我发现我的错误,我必须先停止io_service,然后再调用thread_2.join(),否则我的thread_2 会崩溃。

关于c++ - 代码中的随机错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22683744/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com