|
|
|
Пульсация на C# в консоли...
|
|||
|---|---|---|---|
|
#18+
Кто-то сталкивался с пульсацией в консоли на c#? Принцип работы знаю, а как реализовать - нет. Вот клиент: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.11.2011, 02:40 |
|
||
|
Пульсация на C# в консоли...
|
|||
|---|---|---|---|
|
#18+
zidan4edКто-то сталкивался с пульсацией в консоли на c#? Принцип работы знаю, а как реализовать - нет.А что такое "пульсация"? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.11.2011, 03:16 |
|
||
|
Пульсация на C# в консоли...
|
|||
|---|---|---|---|
|
#18+
White Owl, Это проверка соединения между клиентом и сервером, клиент посылает пустые сообщения - т.е. пульсы по истечению некоторого времени, и на протяжении еще некоторого времени ждет ответ от сервера, если сервер за этот промежуток времени отвечает - все нормально, если нет - то обнаружено прерывание... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.11.2011, 03:23 |
|
||
|
Пульсация на C# в консоли...
|
|||
|---|---|---|---|
|
#18+
zidan4ed..клиент посылает пустые сообщения...и на протяжении еще некоторого времени ждет ответ от сервера....то обнаружено прерывание... у вас не каша, а супер каша в голове! либо так изложили свою мысль. 1) речь идёт о чём? о консольном приложение на си бимоле? Или о низкоуровневом сетевом программировании? 2) Вы протокол изучали, который юзаете? Насколько вижу из ваших исходников - TCP/IP. Вы о нём читале или нет? Что он гарантирует? Чем отличается (например) от UDP? прочтите где нить популярную литературу или МСДН - много чего узнаете... 3) прерывание это прерывание чаво? аппаратное, программное, связи или ышо какое? на мой взгляд у вас перебор инфы. при этом она бессвязная и бестолковая... если очень коротко - не делайте мозх себе и другим. у вас си бимоль? уровень канала TCP/IP? Ну и нахрен вам делать надшлёпку над стандартным поведением протокола, способного эту ситуацию опознать и разрулить? Или вам нужно другие временные интервалы? тогда гуглите на предмет их изменения в самом протоколе... Или вас забанили во всём инете? при разрыве соединения вам апи который вы бодро юзаете сам вернёт ошибку (эксепшен или код возврата - см. МСДН на этот счёт). Нафига вам ещё, что то? тем более если будет обрыв коннекта - вы всё равно это узнаете стандартным способом заложенного в апи а не вашими супер загрузками машинного времени !!! удачи вам, она вам потребуется (круглый) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.11.2011, 12:44 |
|
||
|
Пульсация на C# в консоли...
|
|||
|---|---|---|---|
|
#18+
Кажется это называется heartbeat. Используется в кластерах высокой готовности. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.11.2011, 13:50 |
|
||
|
Пульсация на C# в консоли...
|
|||
|---|---|---|---|
|
#18+
maytonКажется это называется heartbeat.... ну да, ну да... у вас так же перебор инфы в мозгу читаем популярную инфу на эту тему... цитата: "меры способности системы выполнять свое предназначение даже при авариях, поломках оборудования и других происшествиях" ну а теперь мне расскажите как логический пинг по TCP/IP поможет при обрыве кабелюки к серверу... бу-га-га (круглый) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.11.2011, 12:26 |
|
||
|
Пульсация на C# в консоли...
|
|||
|---|---|---|---|
|
#18+
Круглый я не понял твоего сарказма. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.11.2011, 12:34 |
|
||
|
Пульсация на C# в консоли...
|
|||
|---|---|---|---|
|
#18+
kolobok0ну а теперь мне расскажите как логический пинг по TCP/IP поможет при обрыве кабелюки к серверу... бу-га-га (круглый) элементарно. бу-га-га например, сообщит пользователю (или программе) о недоступности соединения. и пользователь (или программа) не будут выполнять какую-о работу зря. или же начнет использовать какой-то другой (альтернативный) путь решения, в том числе локальную запись действий для последующей передачи. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.11.2011, 13:04 |
|
||
|
Пульсация на C# в консоли...
|
|||
|---|---|---|---|
|
#18+
eNose...например, сообщит пользователю (или программе) о недоступности соединения.... внимательней фокусируемся на вопросе. не отвлекаемся при обдумывания ответа!!!! вопрос был какой? сделать надшлёпку над TCP/IP. Причём тут последующие действия в программе? Зачем делать то, что уже есть в самом протоколе? типа программирование ради программирования? Пример: У вас в руках телефон. Установлена связь. Вы на дисплее видите что абонент в коннекте. Зачем постоянно просить сказать слово мама, каждые 10 секунд? Если при обрыве связи ваш телефон скажет - всё, канал протух? нет конечно же можно расписывать то, что клиент потом возмёт другой мобильник. Или позвонит с городского... Но речь шла о канале связи, а не о комплексе мер человека, организации в которой он работает, страны которой важно чтоб организация работала, земле чтоб.... ну прям как дети (круглый) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.11.2011, 01:55 |
|
||
|
Пульсация на C# в консоли...
|
|||
|---|---|---|---|
|
#18+
kolobok0Пример: У вас в руках телефон. Установлена связь. Вы на дисплее видите что абонент в коннекте. Зачем постоянно просить сказать слово мама, каждые 10 секунд? Если при обрыве связи ваш телефон скажет - всё, канал протух? но канал может протухнуть и без соединения :) захочешь позвонить - а связи нет. kolobok0вопрос был какой? сделать надшлёпку над TCP/IP. Причём тут последующие действия в программе? Зачем делать то, что уже есть в самом протоколе? не касаясь конкретного вопроса, а вообще: доступность компьютера по tcp/ip совершенно не означает доступность, например, субд oracle на этом компьютере :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.11.2011, 08:17 |
|
||
|
Пульсация на C# в консоли...
|
|||
|---|---|---|---|
|
#18+
eNoseно канал может протухнуть и без соединения :) захочешь позвонить - а связи нет. ..не касаясь конкретного вопроса, а вообще: доступность компьютера по tcp/ip совершенно не означает доступность, например, субд oracle на этом компьютере :) полностью с вами согласен. сфера коня достаточна чтоб измерить длину :) не видел в первом посте ни логику тестирования доступности, ни коннекшен к ораклу. постарался обратить внимание, что надшлёпка над стандартными средствами не плюс, а большой минус любой системы. (круглый) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.11.2011, 17:24 |
|
||
|
Пульсация на C# в консоли...
|
|||
|---|---|---|---|
|
#18+
протокол TCP гарантирует доставку, но не спешит фиксировать факт обрыва соединения. Увидите Вы этот факт только при попытке отправки сообщения и таймауте на отсутствие подтверждения. Да, действительно, существует встроенный механизм keep-alive, но по стандарту он не обязан сообщать Вам об обрыве несколько часов. Чтобы проверить мои слова - напишите простенький клиент-сервер включите его на двух реальных компах и вытащите кабель. Никакой реакции ни на клиенте ни на сервере не будет! А теперь представьте Скайп, в котором человек часами висит онлайн, Вы ему отправляете сообщение и только после этого узнаёте, что он отключился, класс? Вот для отслеживания таких ситуаций этого и необходим механизм "пульсации" (англ. heartbeat). Рекомендую почитать книжку Йона Снайдера "Эффективное программирование TCP/IP", она не новая, найдёте djvu или pdf. Там есть Совет №10, про то, что TCP не выполняет опрос соединения, и там же приведен пример реализации механизма "пульсации". ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.11.2013, 13:48 |
|
||
|
|

start [/forum/topic.php?fid=16&msg=37533337&tid=1341607]: |
0ms |
get settings: |
9ms |
get forum list: |
9ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
137ms |
get topic data: |
7ms |
get forum data: |
2ms |
get page messages: |
31ms |
get tp. blocked users: |
1ms |
| others: | 244ms |
| total: | 444ms |

| 0 / 0 |
