Форум АНТИЧАТ

Форум АНТИЧАТ (https://forum.antichat.xyz/index.php)
-   С/С++, C#, Delphi, .NET, Asm (https://forum.antichat.xyz/forumdisplay.php?f=24)
-   -   C# Точная отправка сообщение на сервер (https://forum.antichat.xyz/showthread.php?t=207428)

need_million 28.05.2010 16:53

C# Точная отправка сообщение на сервер
 
Мне требуется отправить запрос на сервер ровно в 10-00-00-(10\20 миллисек погрешность).

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

или как поступить в этой ситуации?

eLWAux 28.05.2010 20:20

Цитата:

Сообщение от need_million
или как поступить в этой ситуации?

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

BrainDeaD 28.05.2010 20:42

эл, ты не так понял. он хочет чтоб запрос пришёл на сервер в 10-00-00 с 10\20 миллисек погрешностью. а после отправки зазор в 1-3 сек. тоесть не подгадаешь время отправки.

Chrome~ 28.05.2010 21:29

Лично мое мнение: тебе не получится это сделать. Могут быть по одиночные успешные случаи, но и то не всегда.

need_million 29.05.2010 09:48

так и спрашиваю, может есть вот такая система..что как то потоков отправляется запрос на сервер, и последний байт придерживается.

Chrome~ 29.05.2010 10:45

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

need_million 29.05.2010 11:55

ну так это уменьшает риск не попасть..
я понял что если смогу добиться хотя бы 1-3 сек это уже будет супер пупер.

так что с байтом последним можно?

хотя есть ещё трабл, сервак отрабатывает долго, наверное БД большая и пока он по ней проходится и все данные сверяет это тоже время которое вообще не реально высчитать=(

Chaak 29.05.2010 12:23

Цитата:

Сообщение от need_million
ну так это уменьшает риск не попасть..
я понял что если смогу добиться хотя бы 1-3 сек это уже будет супер пупер.

так что с байтом последним можно?

хотя есть ещё трабл, сервак отрабатывает долго, наверное БД большая и пока он по ней проходится и все данные сверяет это тоже время которое вообще не реально высчитать=(

Попробуй пропингуй сервер за 5-6 секунд до запроса и выполни запрос раньше на время пинга.

need_million 29.05.2010 12:51

запрос идет столько же сколько и пинг?



как пинговать средствами C# ?
про пинг сам нашел ответ
using System.Net.NetworkInformation;
using System.Net;
Ping p = new Ping();
PingReply pr = p.Send(@"www.google.com")
IPStatus status = pr.Status; //IPStatus.Success
IPAddress ipAddr = pr.Address;
long pingTime = pr.RoundtripTime;
вот получил я с сайта "41" - что это значит, когда запрос отправлять?

Chaak 29.05.2010 13:42

на 41 милисекунду раньше
в 9.59.59 , а не в 10.0.0


Время: 10:53