Перейти к содержимому
Калькуляторы

Шейпинг UDP протокола Вопросы устами игрока

Для вас, внимательный вы наш, замечу, что выше был мой первый пост в вашем топике. На протяжении уже 4 страниц до вас пытаются донести, что прежде чем пенять провайдеру на какие-то производимые им (как вам кажется), неадекватные с вашей точки зрения, вещи, необходимо провести диагностику, и не записанными видео/ссылками на пост от взбешенного тела со взорванным пуканом, а нормальными средствами анализа трафика. И с большой долей вероятности сеть здесь ни при чем, лаги вами наблюдаемые скорее всего производит сервер (или игрок), а не канал. Вам же лениво, это ваше право, но тогда зачем весь этот тред вообще было затевать? Поддержки а-ля "вот он <имярек провайдера> говно такое, нас д'Артаньянов обижает" вы тут не найдете точно.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Для вас, внимательный вы наш, замечу, что выше был мой первый пост в вашем топике. На протяжении уже 4 страниц до вас пытаются донести, что прежде чем пенять провайдеру на какие-то производимые им (как вам кажется), неадекватные с вашей точки зрения, вещи

Повнимательнее Вас, если Вы до сих пор не поняли, что претензии не к провайдеру, а к вышестоящим ДЦ и магистралам. У провайдера проблем нету, а я уже неоднократно об этом писал:

проблема скорее не на их уровне, а на уровне ДЦ или магистралов, которые забиты под завязку и у них там свои ограничения

если это встречается уже повсеместно у всех провайдеров, стоит задуматься о вышестоящих магистралах и их оборудовании (я так думаю)

Поэтому надо внимательней читать мои сообщения, т.к. повторять по сотне раз одно и то же мне уже надоело. Что касается

записанными видео/ссылками на пост от взбешенного тела со взорванным пуканом

то это уже просто неуважение по отношению к человеку и обыкновенное хамство. Типичное такое хамство от того, кому вообще пофигу на проблему, но высказаться хочется. С Вами разговор окончен, можете, конечно, и дальше тут флудить, но отвечать я не собираюсь.

P.S. У человека в CS:GO звание глобал, чего он смог достичь даже с убогим интернетом. Это так, справки ради, если кто-то еще решит так высказаться в его сторону.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

У человека в CS:GO звание глобал, чего он смог достичь даже с убогим интернетом. Это так, справки ради, если кто-то еще решит так высказаться в его сторону.

Надо срочно на колени упасть?

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

P.S. Наряду с Вами в топике давали действительно интересную пищу для рассуждений, а после поста Ivan_83 я узнал, что зайти можно куда дальше, чем я это уже сделал, хотя если бы я учился на нужном направлении, не факт, что я бы сам не дошел до подобного :)

Я учится в ВУЗах закончил лет за 5-6 до описываемого, и они были далеко от обоих озвученных тем.

Собственно все мои знания по этим направлениям приобретены самостоятельно, как раз в ходе героического преодоления самостоятельно созданных проблем :)

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Надо срочно на колени упасть?

Новое пополнение в клубе любителей развести флейм, трио уже есть. Интересно даже за Вами наблюдать, так усердно пытаетесь меня уличить в чем-то, как-то задеть и выставить дураком :) А ведь я всего лишь попросил помощи, предоставляя факты и высказывая недовольство по конкретным пунктам... Видимо я так Вас сильно задеваю своими сообщениями, что молчать больше сил нет.

Я учится в ВУЗах закончил лет за 5-6 до описываемого, и они были далеко от обоих озвученных тем.

Собственно все мои знания по этим направлениям приобретены самостоятельно, как раз в ходе героического преодоления самостоятельно созданных проблем :)

Ну у меня еще вагон времени в этом плане, но все же я достаточно ленив, чтобы начать проделывать такую работу (такой уж я лентяй). Пока есть варианты подключить VPN и играть на уровне "удовлетворительно", а так же просто пойти в overwatch (короче сделать что-то более простое), я буду пользоваться ими. Не думаю, что это хорошо, ведь в конце концов, если дело снова замрет в мертвой точке, придется собираться с мыслями и начинать действовать, а потом корить себя за впустую потраченное время, которое могло бы пойти на решение проблемы.

Хотя сейчас прорабатываю эту тему, предложенную pavel.odintsov. Уж очень интересно стало, надеюсь ответ будет найден

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Вам пора клуб по интересам организовывать

Этот форум по большому счету он и есть.

 

претензии не к провайдеру, а к вышестоящим ДЦ и магистралам

Это вам для просвещения, что есть провайдер.

 

Надо срочно на колени упасть?

Так это ж теперь спорт, так что видимо если пьедестал не подкатывать, то как минимум цветы и аплодисменты.

 

 

P.S>Никакого хамства за собой не усматриваю, определение было обезличенным и суммарным по всем вашим ссылкам, простая констатация факта "праведного" гнева на то, о чем возмущающийся имеет весьма отдаленное представление.

С Вами разговор окончен

Как угодно.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Ну у меня еще вагон времени в этом плане, но все же я достаточно ленив, чтобы начать проделывать такую работу (такой уж я лентяй).

Все ленивы.

Вопрос в удовлетворении интереса: тебе интересно понять в чём именно проблема или нет?

Если да то делается какое то подобие стенда и осваиваются какие то инструменты.

Я бы лично кодил, мне так проще: написал бы юдп клиент-сервер, чтобы они друг в друга стреляли пакетами заданного размера со времинем отправки внутри, нашёл бы где то хостенг -дэдик с линухом, запустил там и у себя и смотрел бы на равномерность/задержки.

Потом другой хостенг и опять замеры.

Дальше выводы.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

P.S. У человека в CS:GO звание глобал, чего он смог достичь даже с убогим интернетом. Это так, справки ради, если кто-то еще решит так высказаться в его сторону.

 

Заберу в подпись, если вы не против.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Ну у меня еще вагон времени в этом плане, но все же я достаточно ленив, чтобы начать проделывать такую работу (такой уж я лентяй).

Все ленивы.

Вопрос в удовлетворении интереса: тебе интересно понять в чём именно проблема или нет?

Если да то делается какое то подобие стенда и осваиваются какие то инструменты.

Я бы лично кодил, мне так проще: написал бы юдп клиент-сервер, чтобы они друг в друга стреляли пакетами заданного размера со времинем отправки внутри, нашёл бы где то хостенг -дэдик с линухом, запустил там и у себя и смотрел бы на равномерность/задержки.

Потом другой хостенг и опять замеры.

Дальше выводы.

Уже пробовал, подключая кодера, создать подобную программу. Расчет был на то, что есть различные онлайн тесты реакции, но они все по TCP работают (ifastest например). Ну и задумка была как раз в создании подобного на udp. Написал он мне клиент-сервер, поставили его на хостинг в Швеции, но все запоролось на последнем этапе, какие-то проблемы с Wine возникли, ну и в итоге подзаглохло все. Потом провел несколько тестов, стало понятно, что это голая задержка, т.е. без учетов нагрузки.

Результат, конечно, получился бы уже неплохой, ведь стало бы видно фактически прямую зависимость реакции в онлайн шутере от твоего интернет соединения, т.е. реакция игрока 200 мс, допустим, а задержка еще где-то 250-300 мс, в итоге общая задержка с пол секунды, а это уже огромное время на самом то деле. Но идеальная ситуация - встраивание непосредственно на игровой сервер утилиты, которая позволит проверить величину задержки пакета и процент потерь, а также маршрут пакетов именно для UDP. Об этом уже и WF просили, и Dice, правда на англоязычном форуме, но никто ничего не стал делать, т.к. основная часть игроков не жалуется, а значит все ОК (к вольво вообще нет смысла обращаться с их античитом).

Заберу в подпись, если вы не против.

У каждого свои ценности и интересы, согласен

Изменено пользователем MAESTROHANTER

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

в итоге общая задержка с пол минуты

Секунды. Всё не настолько плохо. :-)

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

, которые промахом называют 100% попадание по модели противника и отсутствие урона. Вот, специально для Вас наклепал из имеющегося хлама на харде видео. Если ПО ВАШЕМУ там нет попаданий, то

 

посмотрел видео и сразу вопрос. А с чего вы решили, что стрельба и одновременное мотыляние прицела во все стороны, должно приводить к попаданию точно в цель?

Изменено пользователем AKim

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

посмотрел видео и сразу вопрос. А с чего вы решили, что стрельба и одновременное мотыляние прицела во все стороны, должно приводить к попаданию точно в цель?

У нас тут вроде не проводится набор на камеди батл (или что там по ящику крутят, называя это юмором), так что помочь ничем не могу.

Изменено пользователем MAESTROHANTER

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Мне с самого начала этот топик не внушал доверия, какая-то хрень про шейпинг юдп.

Ядрёному коту доверия в порядки больше.

А вам тс немного подучиться надо культуре общения.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Мне с самого начала этот топик не внушал доверия, какая-то хрень про шейпинг юдп.

Интересно, зачем же Вы тогда вообще здесь отписываете? Какую-то хрень тут пишет каждый второй, считая, что он на 100% прав, дальше что?

Ядрёному коту доверия в порядки больше.

Я не баллотируюсь в президенты, поэтому в чем-то Вас убеждать не собираюсь.

А вам тс немного подучиться надо культуре общения.

Ну да, такой я бескультурный, жуть просто (аж Выкаю всем с заглавной буквы, совсем распоясался).

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

напомнило:

 

Вы все тут дураки и не лечитесь, одна я умная, в белом пальто стою красивая.

Примерно это автор и пытается донести до всех...

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

wine, высосанные из пальца проблемы какие-то... тут даже не лень, а вопиющая безграмотность, так как такую банальщину напишет за 30 минут даже такой криворукий программист как я. Причем код компилируется как mingw под винду, так и под Linux. Если кто-то потратит еще минут 15, добавит в код select для неблокирующего приема, постоянную отсылку данных (а не ping-pong как в текущем коде), плюс в отсылаемые данные отправлять timestamp, и можно собирать отличную статистику и по jitter, и по возможным проблемам с reordering, и по медленному изменению лага.

 

И давайте поставим точки над i, я напомню, ленивый, но умный человек умеет ценить свое время и либо вообще парится не станет с такой "проблемой", или же напишет софт для диагностики, и если взять за основу то время что было потрачено на бесполезные видеоролики и выуживание не менее бредовых тем и других видео, (для их создания и поиска большого ума не надо), то с помощью нормального алгоритма диагностики времени бы потратилось бы намного меньше. Из этого следует вывод: то что автор называет "мне лень", на самом деле называется по другому - "это слишком сложно для меня".

Свой говнокод (но тем не менее работает четко) я завернул в спойлер:

 

 

#include<stdio.h>
#ifdef __MINGW32__
#include <winsock2.h>
#include <stdbool.h>
#pragma comment(lib,"ws2_32.lib")
#else
#include <netinet/ip.h>
#include <sys/types.h>
#include <sys/socket.h>
#include <errno.h>
#include <string.h>
#include <stdlib.h>
#include <unistd.h>
#include <stdint.h>
#include <time.h>
#include <netinet/in.h>
#include <arpa/inet.h>
#endif
#define BUFLEN 1500  //Max length of buffer
#define PORT 18888   //The port on which to listen for incoming data
#define EXIT_FAILURE 1
#define CLIENT 1
#define SERVER 2

#ifdef __MINGW32__
void GetHighResolutionSystemTime(SYSTEMTIME* pst)
{
   static LARGE_INTEGER    uFrequency = { 0 };
   static LARGE_INTEGER    uInitialCount;
   static LARGE_INTEGER    uInitialTime;
   static bool             bNoHighResolution = false;

   if(!bNoHighResolution && uFrequency.QuadPart == 0)
   {
       // Initialize performance counter to system time mapping
       bNoHighResolution = !QueryPerformanceFrequency(&uFrequency);
       if(!bNoHighResolution)
       {
           FILETIME ftOld, ftInitial;

           GetSystemTimeAsFileTime(&ftOld);
           do
           {
               GetSystemTimeAsFileTime(&ftInitial);
               QueryPerformanceCounter(&uInitialCount);
           } while(ftOld.dwHighDateTime == ftInitial.dwHighDateTime && ftOld.dwLowDateTime == ftInitial.dwLowDateTime);
           uInitialTime.LowPart  = ftInitial.dwLowDateTime;
           uInitialTime.HighPart = ftInitial.dwHighDateTime;
       }
   }

   if(bNoHighResolution)
   {
       GetSystemTime(pst);
   }
   else
   {
       LARGE_INTEGER   uNow, uSystemTime;
       {
           FILETIME    ftTemp;
           GetSystemTimeAsFileTime(&ftTemp);
           uSystemTime.LowPart  = ftTemp.dwLowDateTime;
           uSystemTime.HighPart = ftTemp.dwHighDateTime;
       }
       QueryPerformanceCounter(&uNow);

       LARGE_INTEGER   uCurrentTime;
       uCurrentTime.QuadPart = uInitialTime.QuadPart + (uNow.QuadPart - uInitialCount.QuadPart) * 10000000 / uFrequency.QuadPart;

       if(uCurrentTime.QuadPart < uSystemTime.QuadPart || abs(uSystemTime.QuadPart - uCurrentTime.QuadPart) > 1000000)
       {
           // The performance counter has been frozen (e. g. after standby on laptops)
           // -> Use current system time and determine the high performance time the next time we need it
           uFrequency.QuadPart = 0;
           uCurrentTime = uSystemTime;
       }

       FILETIME ftCurrent;
       ftCurrent.dwLowDateTime  = uCurrentTime.LowPart;
       ftCurrent.dwHighDateTime = uCurrentTime.HighPart;
       FileTimeToSystemTime(&ftCurrent, pst);
   }
}

unsigned long long get_ms() {
   static long long initial_ms;
   SYSTEMTIME p1;
   FILETIME ft;

   GetHighResolutionSystemTime(&p1);
   SystemTimeToFileTime(&p1, &ft);
   ULARGE_INTEGER uli;
   uli.LowPart = ft.dwLowDateTime;
   uli.HighPart= ft.dwHighDateTime;
   ULONGLONG uft= uli.QuadPart;
   return uft / 10000;
}
#else
unsigned long long get_ms() {
   struct timespec ts;
   clock_gettime(CLOCK_MONOTONIC, &ts);
   return((ts.tv_sec*1000) + (int)(ts.tv_nsec / 1000000));
}
#endif


int geterr(void) {
#ifdef __MINGW32__
   return WSAGetLastError();
#else
   return(errno);
#endif
}


int main(int argc, char **argv) {
#ifdef __MINGW32__
   SOCKET s;
   WSADATA wsa;
#else
   int s;
#endif
   struct sockaddr_in server, si_other;
   struct sockaddr_in remote; // only for client
   int slen , recv_len, send_ret;
   char buf[bUFLEN];
   unsigned long long stamp[2];
   slen = sizeof(si_other);
   int mode = SERVER;

   if (argc == 3 && !strcmp(argv[1], "-c")) {
mode = CLIENT;
memset(&remote, 0x0, sizeof(remote));
       remote.sin_addr.s_addr = inet_addr(argv[2]);
remote.sin_family = AF_INET;
remote.sin_port = htons(PORT);
printf("Client mode\n");
   } else {
printf("Server mode\n");
   }

#ifdef __MINGW32__
   //Initialise winsock
   printf("\nInitialising Winsock...");
   if (WSAStartup(MAKEWORD(2,2),&wsa) != 0)
   {
       printf("Failed. Error Code : %d",WSAGetLastError());
       exit(EXIT_FAILURE);
   }
   printf("Initialised.\n");
#endif
   s = socket(AF_INET , SOCK_DGRAM , 0 );
   if(s < 0) {
       printf("Could not create socket : %d\n", geterr());
   }
   printf("Socket created.\n");

   memset(&server, 0x0, sizeof(server));
   server.sin_family = AF_INET;
   server.sin_addr.s_addr = INADDR_ANY;
   server.sin_port = htons(PORT);

   if( bind(s ,(struct sockaddr *)&server , sizeof(server)) < 0)
   {
       printf("Bind failed with error code : %d\n", geterr());
       exit(EXIT_FAILURE);
   }

   while(1)
   {
if (mode == SERVER) {
    recv_len = recvfrom(s, buf, BUFLEN, 0, (struct sockaddr *) &si_other, &slen);
    if (recv_len <= 0) {
       	printf("recvfrom() failed with error code : %d\n", geterr());
       	exit(EXIT_FAILURE);
   	    }
    send_ret = sendto(s, buf, recv_len, 0, (struct sockaddr*) &si_other, slen);
    if (send_ret != recv_len) {
       	printf("sendto() failed with error code : %d\n", geterr());
       	exit(EXIT_FAILURE);
    }
} else {
//	    memset(buf, 0x0, 1400);
    recv_len = 1400;
    send_ret = sendto(s, buf, recv_len, 0, (struct sockaddr*) &remote, slen);
    if (send_ret != recv_len) {
       	printf("sendto() failed with error code : %d\n", geterr());
       	exit(EXIT_FAILURE);
    }
    stamp[0] = get_ms();
    recv_len = recvfrom(s, buf, BUFLEN, 0, (struct sockaddr *) &si_other, &slen);
    if (recv_len <= 0) {
       	printf("recvfrom() failed with error code : %d\n", geterr());
       	exit(EXIT_FAILURE);
   	    }
    stamp[1] = get_ms();
    printf("Latency: %lld\n", (stamp[1] - stamp[0]));
}
   }

#ifdef __MINGW32__
   closesocket(s);
   WSACleanup();
#else
   close(s);
#endif
   return 0;
}

 

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Примерно это автор и пытается донести до всех...

Не судите по себе

wine, высосанные из пальца проблемы какие-то... тут даже не лень, а вопиющая безграмотность, так как такую банальщину напишет за 30 минут даже такой криворукий программист как я. Причем код компилируется как mingw под винду, так и под Linux. Если кто-то потратит еще минут 15, добавит в код select для неблокирующего приема, постоянную отсылку данных (а не ping-pong как в текущем коде), плюс в отсылаемые данные отправлять timestamp, и можно собирать отличную статистику и по jitter, и по возможным проблемам с reordering, и по медленному изменению лага.

Я не программист, если что

И давайте поставим точки над i, я напомню, ленивый, но умный человек умеет ценить свое время и либо вообще парится не станет с такой "проблемой", или же напишет софт для диагностики, и если взять за основу то время что было потрачено на бесполезные видеоролики и выуживание не менее бредовых тем и других видео, (для их создания и поиска большого ума не надо), то с помощью нормального алгоритма диагностики времени бы потратилось бы намного меньше.

Проблема искалась сначала в железе, потом в ОС, а дальше уже пошло понимание, что работать надо с интернет соединением. И поскольку я игрок, то и поиск алгоритма для меня представлялся не совсем так, как сидящим тут. У меня все было на практике, теорию я знаю плохо.

Из этого следует вывод: то что автор называет "мне лень", на самом деле называется по другому - "это слишком сложно для меня".

Да, я и не отрицаю, что создать какой-то вменяемый код для меня сложно. Я банально не умею работать с этим. У меня был практический подход к решению проблемы. Потом уже до меня дошло, что я занимаюсь ерундой и я начал изучать теорию.

Свой говнокод (но тем не менее работает четко) я завернул в спойлер:

Мне этот код, скажу честно, ничего не дает (все равно спасибо). Вот, что мне сделал кодер (virustotal). Мне нужно было запихнуть это на сервак на линуксе (VPS/VDS) в Швеции, чтобы скачав программу на свой компьютер, любой смог бы протестировать влияние задержек (но это чистые задержки, без каких-либо нагрузок на сервер, так что результат будет приближенным). В итоге у него не получилось и все заглохло. Если Ваш код будет работать - отлично, но я настолько туп в программировании, что вряд ли сам что-то сделаю (кроме счетчика в паскале или лэндинга на html5).

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Исходный код, я еще добавил по быстрому определение packetloss, чтобы не застревало на потерянных пакетах

https://github.com/nuclearcat/sysadmin-tools/tree/master/latency

Скомпилированный для линукса https://nuclearcat.com/latencytest

Винда https://nuclearcat.com/latencytest.exe

Запуск сервера без флагов

Клиент: ./latencytest.exe -c 1.2.3.4

Где 1.2.3.4 - IP сервера

 

Серверную часть запускать только на время теста, т.к. это банальный echo без авторизации и он небезопасен, если оставлять его надолго запущенным.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Ну да, такой я бескультурный, жуть просто (аж Выкаю всем с заглавной буквы, совсем распоясался).

Можно ли при обращении к одному человеку писать вы, ваш с маленькой буквы?

 

Употребление местоимения вы вместо ты при обращении к одному лицу само по себе уже представляет проявление уважительного отношения к этому лицу. Окончательное решение о написании Вы с прописной (для подчеркивания этого уважительного отношения) принимает автор текста.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Вот, что мне сделал кодер (virustotal).

Написали на C# - не удивительно что потребовался вайн и в итоге фейл.

 

 

Свой говнокод (но тем не менее работает четко) я завернул в спойлер:

Я бы сделал чтобы оно каждые Х мс слало пакет, притом эхо не нужно, потому что с эхом ты не сможешь определить шейпят входящий/исходящий или оба.

 

exit(EXIT_FAILURE);

return (EXIT_FAILURE);

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Я бы сделал чтобы оно каждые Х мс слало пакет, притом эхо не нужно, потому что с эхом ты не сможешь определить шейпят входящий/исходящий или оба.

Можно, но возникает масса нюансов и это уже не "на коленке набросать". В частности часики за несколько минут могут вполне уплыть на несколько миллисекунд относительно друг друга.

Плюс по коду заметно, как через какую жопу сделаны точные часы в винде, и после поиска правильного подхода к ней хочется полчаса мыть руки.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Может проще готовые средства использовать, например, psping.

Хотя писать свой велосипед тоже бывает интересно. Но ТС не оценит, столько времени потрачено и средств, а wireshark сочтен непригодным.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Смешно наблюдать со стороны, как умные люди зачем-то пытаются изобрести велосипед. Или все тщательно скрывают своё геймерское прошлое, и делают вид, что не знают, что такое net_graph?

Ни wireshark, ни tcp/ucd/icmp/самонакатанные_на_коленке_пакетные_генераторы не нужны, когда есть net_graph. Если в net_graph проблем не видно - с сетью проблемы нет. Точка.

Умеет ли ТС правильно интерпретировать его показания - под вопросом.

p.s. - видео так и не доставлено. Впрочем, пива я пока тоже не пил. Но в субботу планирую! ТС, смекаешь?

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

net_graph в некоторых случаях может соврать, когда остальная активность игры по каким-то причинам увеличивает задержки в более низкоуровневых подсистемах.

Сугубо теоретически, например, кривой драйвер звуковухи может блокировать обработку сетевого траффика. Так что пакетные генераторы использовать можно и нужно, но не только их, так как все таки паттерн траффика отличается, и полагаться полностью на них нельзя.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Серверную часть запускать только на время теста, т.к. это банальный echo без авторизации и он небезопасен, если оставлять его надолго запущенным.

Попробовал сделать - ничего не понял. Запускал через cmd прописывая "./latencytest.exe -c 1.2.3.4 Где 1.2.3.4 - IP сервера", но не сработало (в общем я не догоняю).

Употребление местоимения вы вместо ты при обращении к одному лицу само по себе уже представляет проявление уважительного отношения к этому лицу. Окончательное решение о написании Вы с прописной (для подчеркивания этого уважительного отношения) принимает автор текста.

Да, вы действительно правы, жаль только по теме ответов нету

Может проще готовые средства использовать, например, psping.

Хотя писать свой велосипед тоже бывает интересно. Но ТС не оценит, столько времени потрачено и средств, а wireshark сочтен непригодным.

Я по вашему для чего пытался сделать эту прогу? Чтобы изобрести велосипед? А Вам не приходило в голову, что это сделано специально для таких же недалеких геймеров как и я? Нужно было создать игру, юзерфрендли интерфейс, чтобы все понятно и просто, ведь проверить эти задержки можно через тот же iperf, но хотелось новую концепцию создать.

Про psping не знал, попробую на досуге. Насчет wireshark уже отвечал, что не вижу смысла, т.к. net_graph молчит на наличие ошибок.

Ни wireshark, ни tcp/ucd/icmp/самонакатанные_на_коленке_пакетные_генераторы не нужны, когда есть net_graph. Если в net_graph проблем не видно - с сетью проблемы нет. Точка.

Как-то у Вас все просто. Слишком просто. Не бывает так, иначе я бы не создавал этот топик.

Сугубо теоретически, например, кривой драйвер звуковухи может блокировать обработку сетевого траффика.

И не только. Исследования показали, что может влиять сетевуха (realtek особенно), отсутствие звуковой карты (а точнее отсутствие ASIO) и CMSS

p.s. - видео так и не доставлено. Впрочем, пива я пока тоже не пил. Но в субботу планирую! ТС, смекаешь?

Видео уже выкладывал, но оно как-то затерялось в куче сообщений, да и было адресовано лично одному товарищу. Дублирую:

- видео мое, которое я наклепал за 20 минут из всякого хлама на харде. Объяснений нет, ничего нет, только Высоцкий и видеоряд. И если там на Ваш счет все нормально... я умываю руки.

Сразу же хочу добавить, что, как я раньше писал, я перешел в overwatch. Да, как для игрока в шутеры меня смущает графика и вообще моба составляющая, но как игроку с проблемой в регистрации попаданий - мне нравится неткод. У меня, по сравнению с той же КС, все просто отлично, попадания регистрируются, пакеты проходят нормально (могу даже мувик запилить, если есть сомнения). И причина, как оказалось, в том, что неткод основан на TCP. Инфу мне сказал автор 2-ух постов, который страдает от той же проблемы (первый пост и второй). Можете погуглить про особенности их неткода, инфа в интернете есть. А вот, кстати,

, если есть сомнения в скилле
Изменено пользователем MAESTROHANTER

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Гость
Эта тема закрыта для публикации сообщений.