Хабр Курсы для всех
РЕКЛАМА
Практикум, Хекслет, SkyPro, авторские курсы — собрали всех и попросили скидки. Осталось выбрать!
string message = "M-SEARCH * HTTP/1.1\r\n";
message += "HOST: 239.255.255.250:1900\r\n";
message += "ST:" + st + "\r\n";
message += "MAN: \"ssdp:discover\"\r\n";
message += "MX:1\r\n\r\n";
string message = "M-SEARCH * HTTP/1.1\r\n"
"HOST: 239.255.255.250:1900\r\n"
"ST:" + st + "\r\n"
"MAN: \"ssdp:discover\"\r\n"
"MX:1\r\n\r\n";
catch (const Poco::TimeoutException &) { }for (string ip : ips) {
cout << "IP: " << ip << endl;
}for (const string & ip : ips) {
cout << "IP: " << ip << endl;
}vector<string> MakeSsdpRequest(string st = "") {
vector<string> responses;
...
return responses;int main()
{
auto responses = MakeSsdpRequest();using std::string;
using std::vector;
using std::cin;
using std::cout;
using std::endl;
using Poco::Net::SocketAddress;
using Poco::Net::DatagramSocket;
using Poco::Timespan;
using Poco::RegularExpression;using namespace std;
using namespace Poco;
using namespace Poco::Net;А вот на счет возврата vector как результат функции, ведь в этом случае произойдет копирование вектора.
Подскажите пожалуйста чем он удобнее в защите от исключений?
std::vector<string> responses;
try {
MakeSspdRequest(responses);
} catch(...) { ... }
for(const auto & r : responses) // В каком состоянии сейчас responses?
try {
auto responses = MakeSspdRequest();
...
} catch(...) {...} То в случае исключения у вас responses просто не останется и не возникнет вопросов о том, что там внутри находится.
Поиск устройств в сети по SSDP с помощью Poco