|
|
|
ServerSocket проверка списка активных клиентов.
|
|||
|---|---|---|---|
|
#18+
Есть программка сервер, крутиться на компе. Пока в таком виде: = Текст программки Код: pascal 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. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. 66. 67. 68. 69. 70. 71. 72. 73. 74. 75. 76. В качестве клиентов железки на ESP8266. Железка получает питание, подключается к серверу. Подскажите как поступить в случае падения клиента. Надо обработать момент переподключения клиентов(допустим железка обесточивается). Возможно ли опросить список клиентов из lst1, и выкинуть отвалившихся? Как это сделать? При текущем раскладе, если ребутнуть одну железку 2-3 раза, то список подключений содержит повторяющиеся ip. при первом обращении к которым возникает исключение 10053 и 10054. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.05.2019, 19:39 |
|
||
|
ServerSocket проверка списка активных клиентов.
|
|||
|---|---|---|---|
|
#18+
Валерий666При текущем раскладе, если ребутнуть одну железку 2-3 раза, то список подключений содержит повторяющиеся ip. при первом обращении к которым возникает исключение 10053 и 10054. Это штатное поведение сокетов и ты от него никак не избавишься. В чём проблема? Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.05.2019, 20:06 |
|
||
|
ServerSocket проверка списка активных клиентов.
|
|||
|---|---|---|---|
|
#18+
Dimitry SibiryakovВалерий666При текущем раскладе, если ребутнуть одну железку 2-3 раза, то список подключений содержит повторяющиеся ip. при первом обращении к которым возникает исключение 10053 и 10054. Это штатное поведение сокетов и ты от него никак не избавишься. В чём проблема? Проблема в ошибках(исключениях). Представим цикл: - 1-ое включение устройства - занесение в цикл, отображение в списке. Все ОК. - Отвал устройства, ребут, реконнект. в списке 2 устройства с одинаковым IP. Попытка опроса\передачи\приема - исключение. - 2-ое отключение устройства\ ребут. В списке 3 устройства с одинаковым IP. Попытка опроса\передачи\приема - исключение. и т.д....уже не говоря об 15-ти таких устройствах. Задача: отсеить "не живые" сессии. чтобы список, на ткущий момент времни был актуален и можно было выделить IP, и послать ему команду(синхронизация\дамп оффлайна). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.05.2019, 23:11 |
|
||
|
ServerSocket проверка списка активных клиентов.
|
|||
|---|---|---|---|
|
#18+
Валерий666Проблема в ошибках(исключениях). Изучай руководство по языку на предмет try-except. Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.05.2019, 23:24 |
|
||
|
ServerSocket проверка списка активных клиентов.
|
|||
|---|---|---|---|
|
#18+
Валерий666, авторЗадача: отсеить "не живые" сессии. чтобы список, на ткущий момент времни был актуален и можно было выделить IP, и послать ему команду(синхронизация\дамп оффлайна). Посылай команду всем клиентам, у кого айпи подходящий, в чем проблема? Кто живой, тот отзовётся. 'Актуальность" - понятие субъективное. Вот у меня, например, сервер и клиенты друг другу пинги шлют, каждые х секунд. Если нет пинга от корреспондента в течение у секунд, считаем, что связи нет. Но то у меня, потому что мне нужно именно так. В другой моей приблуде сервер принимает коннекты от всех, не разбирая, но периодически рвет связь и обнуляет список коннектов, не разбирая, кто актуален, а кто нет, а живые клиенты реконнектятся, вот и остаются лишь актуальные. Сам определи, как надо, да сделай. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.05.2019, 23:35 |
|
||
|
ServerSocket проверка списка активных клиентов.
|
|||
|---|---|---|---|
|
#18+
Валерий666, авторПроблема в ошибках(исключениях). ислючение, в общем виде - не ошибка. не стоит рассматривать каждое исключение как ошибки. бывает исключение - вполне штатная ситуация. бывает на них логику работы делают. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.05.2019, 10:37 |
|
||
|
ServerSocket проверка списка активных клиентов.
|
|||
|---|---|---|---|
|
#18+
С этим разобрался. Как лучше сделать? Держать коннект постоянно и отсылать данные по их наличию (тогда вставет вопрос по idle и таймаутам...) или пойти по принципу - (подключился-отослал-отключился, это со стороны железки). Во втором варианте, не понятно как инициализировать опрос отключенных клиентов. Надо делать каждую точку клиент-сервером (ip статический, проброшен в роутере)? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.05.2019, 18:57 |
|
||
|
ServerSocket проверка списка активных клиентов.
|
|||
|---|---|---|---|
|
#18+
Валерий666при первом обращении к которым возникает исключение 10053 и 10054. что мешает обработать эти исключения и на основании их чистить ваш список? Код: pascal 1. 2. 3. 4. 5. 6. 7. 8. 9. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.05.2019, 21:57 |
|
||
|
|

start [/forum/topic.php?fid=58&msg=39809985&tid=2039494]: |
0ms |
get settings: |
6ms |
get forum list: |
10ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
389ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
43ms |
get tp. blocked users: |
1ms |
| others: | 207ms |
| total: | 671ms |

| 0 / 0 |
