websocket данные, если сервер есть то никаких проблем нет, но если сервер падает то весь код ломается, а надо чтобы просто не отсылал данные через сокет, вот код
while (logger_running)
{
for (workerid = 0; workerid < worker_cnt; workerid++)
{
struct starpu_profiling_worker_info info;
int ret = starpu_profiling_worker_get_info(workerid, &info);
if (ret != 0)
continue;
char name[64];
starpu_worker_get_name(workerid, name, sizeof(name));
double total_time = starpu_timing_timespec_to_us(&info.total_time) / 1000.;
double flops = 0.0;
if (info.flops)
flops = info.flops;
char message[256];
snprintf(message, sizeof(message), "{\"name\": \"%s\", \"total_time\": \"%.2lf\", \"flops\": \"%.2lf\"}\n", name, total_time, flops);
try
{
if (send(client_socket, message, strlen(message), 0) != (ssize_t)strlen(message))
{
perror("send");
}
}
catch (std::exception &e)
{
std::cout << "Exception caught: " << e.what() << std::endl;
}
}
usleep(500000);
}
обработка ошибок не помогает, что я криво делаю? мб надо как то функцию send изменить?
как падает?
Обсуждают сегодня