Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
SnmpRecvMsg function did not complete successfully because all output parameters are NULL
|
|||
|---|---|---|---|
|
#18+
White OwlНе торопись и переведи фразу Да послал он этот запрос, послал... Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.08.2014, 23:56 |
|
||
|
SnmpRecvMsg function did not complete successfully because all output parameters are NULL
|
|||
|---|---|---|---|
|
#18+
Мужики, хорош стебаться ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.08.2014, 07:47 |
|
||
|
SnmpRecvMsg function did not complete successfully because all output parameters are NULL
|
|||
|---|---|---|---|
|
#18+
Dimitry Sibiryakov, С подачи приятеля установил WireShark - запрос у устройству не уходит. Странно, что SnmpSendMsg завершается без ошибок... Программа, использующая синхронные запросы отрабатывает успешно. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.08.2014, 11:39 |
|
||
|
SnmpRecvMsg function did not complete successfully because all output parameters are NULL
|
|||
|---|---|---|---|
|
#18+
Состав сообщения, посылаемого моей программой ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.08.2014, 14:42 |
|
||
|
SnmpRecvMsg function did not complete successfully because all output parameters are NULL
|
|||
|---|---|---|---|
|
#18+
Состав сообщения, посылаемого миб-браузером Отличие только в request-id ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.08.2014, 14:43 |
|
||
|
SnmpRecvMsg function did not complete successfully because all output parameters are NULL
|
|||
|---|---|---|---|
|
#18+
Я же говорил, что проблема не в отправке, а в приёме. И даже цитату привёл как надо делать правильно. Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.08.2014, 14:48 |
|
||
|
SnmpRecvMsg function did not complete successfully because all output parameters are NULL
|
|||
|---|---|---|---|
|
#18+
Dimitry Sibiryakov, Дмитрий, если вам нетрудно, могли бы вы пояснить, почему WireShark не видит ответа? Мне представляется, что если я не считываю ответ, он всё равно должен прийти. Нет? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.08.2014, 15:16 |
|
||
|
SnmpRecvMsg function did not complete successfully because all output parameters are NULL
|
|||
|---|---|---|---|
|
#18+
ioscat, HSNMP_ENTITY srcEntity = SnmpStrToEntity(hSession,"172.30.1.180"); HSNMP_ENTITY dstEntity = SnmpStrToEntity(hSession,"173.30.1.18"); Ошибка в IPшнике была ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.08.2014, 15:31 |
|
||
|
SnmpRecvMsg function did not complete successfully because all output parameters are NULL
|
|||
|---|---|---|---|
|
#18+
ioscatМне представляется, что если я не считываю ответ, он всё равно должен прийти. Нет? Твоя программа завершается раньше, чем ответ успевает прийти. При этом скорее всего соединение рвётся и ответу просто некуда приходить. Поэтому его и не присылают. Смотри полный список проходящих пакетов, возможно между ними затесался RST. Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.08.2014, 15:42 |
|
||
|
SnmpRecvMsg function did not complete successfully because all output parameters are NULL
|
|||
|---|---|---|---|
|
#18+
Dimitry Sibiryakov, Дмитрий, если вкратце: В WireShark стоит фильтр отображения только пакетов SNMP. Таки образом видно, что ответ браузеру приходит, а моей программе - нет. это было вызвано ошибкой в IP. Как только я её исправил, проблема пропала, я вижу ответ. Программа не могла завершаться раньше прихода ответа, потому что ответ приходит очень быстро, а моя программа работает около секунды. Она в цикле много раз выполняет SnmpRecvMsg. Как только я увеличил TimeOut, она получила ответ на первой же итерации. Я думаю, что это идейно неверный подход, потому что, насколько понимаю я, нужно запускать SnmpRecvMsg иначе, и теперь я постараюсь разобраться, как. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.08.2014, 15:49 |
|
||
|
SnmpRecvMsg function did not complete successfully because all output parameters are NULL
|
|||
|---|---|---|---|
|
#18+
Dimitry SibiryakovioscatМне представляется, что если я не считываю ответ, он всё равно должен прийти. Нет? Твоя программа завершается раньше, чем ответ успевает прийти. При этом скорее всего соединение рвётся и ответу просто некуда приходить. Поэтому его и не присылают. Смотри полный список проходящих пакетов, возможно между ними затесался RST. Неверно. У него программа завершается раньше чем запрос успевает уйти. И зря ты путаешь человека. Тот кусок документации что ты привел это всего-лишь одно из решений. Можно жить и без WndProc, почти так как показал ТС в своем неработающем коде. Вариант с колбеками прекрасно может работать если только догадаться чем этот колбек должен заниматься вместо писков. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.08.2014, 15:51 |
|
||
|
SnmpRecvMsg function did not complete successfully because all output parameters are NULL
|
|||
|---|---|---|---|
|
#18+
White OwlУ него программа завершается раньше чем запрос успевает уйти. Это как так? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.08.2014, 15:56 |
|
||
|
SnmpRecvMsg function did not complete successfully because all output parameters are NULL
|
|||
|---|---|---|---|
|
#18+
White OwlИ зря ты путаешь человека. Тот кусок документации что ты привел это всего-лишь одно из решений. Можно жить и без WndProc Да. Но для этого надо прочитать доку на SnmpCreateSession(), чего я на тот момент времени не сделал. Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.08.2014, 16:00 |
|
||
|
SnmpRecvMsg function did not complete successfully because all output parameters are NULL
|
|||
|---|---|---|---|
|
#18+
В общем, данные получает, осталось по уму переделать. Попробую разобраться, что вы имели в виду Код: 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. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. 66. 67. 68. 69. 70. 71. 72. 73. 74. 75. 76. 77. 78. 79. 80. 81. 82. 83. 84. 85. 86. 87. 88. 89. 90. 91. 92. 93. 94. 95. 96. 97. 98. 99. 100. 101. 102. 103. 104. 105. 106. 107. 108. 109. 110. 111. 112. 113. 114. 115. 116. 117. 118. 119. 120. 121. 122. 123. 124. 125. 126. 127. 128. 129. 130. 131. 132. 133. 134. 135. 136. 137. 138. 139. 140. 141. 142. 143. 144. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.08.2014, 18:32 |
|
||
|
SnmpRecvMsg function did not complete successfully because all output parameters are NULL
|
|||
|---|---|---|---|
|
#18+
ВыводStart SnmpStartup: 1 wMsg: 10 SnmpCreateSession: SnmpGetLastError: 1 wMsg: 10 SNMPAPI_NOT_INITIALIZED: 18 SNMPAPI_OTHER_ERROR: 99 SNMPAPI_NOOP: 8 SNMPAPI_ALLOC_ERROR: 2 SnmpSetTimeout: 1 SnmpGetLastError: 1 SnmpSetTimeout: 1 SnmpGetLastError: 1 SnmpSetPort: 1 SnmpGetLastError: 1 SnmpStrToOid: 9 SnmpCreateVbl GetLastError: 1 SnmpCreatePdu GetLastError: 1 SNMPAPI_SUCCESS: 1 SnmpSendMsg: 1 SnmpSendMsg SnmpGetLastError: 1 HaHa1! HaHa2! value.value.sNumber: 0 HaHa3! HaHa - 0 CallBack beep! CallBack beep! CallBack: Recieve: 1 CallBack: SnmpGetLastError: 1 CallBack: SnmpGetPduData: 1 CallBack: SnmpGetLastError: 1 CallBack: SnmpGetVb: 1 CallBack: SnmpGetLastError: 1 CallBack: value->value.sNumber: 76 HaHa - 1 HaHa - 2 HaHa - 3 HaHa - 4 HaHa - 5 HaHa - 6 HaHa - 7 HaHa - 8 HaHa - 9 End Для продолжения нажмите любую клавишу . . . ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.08.2014, 18:35 |
|
||
|
SnmpRecvMsg function did not complete successfully because all output parameters are NULL
|
|||
|---|---|---|---|
|
#18+
ioscat, вывод немного не соответствует коду программы, ну и ладно, суть не меняется ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.08.2014, 18:51 |
|
||
|
SnmpRecvMsg function did not complete successfully because all output parameters are NULL
|
|||
|---|---|---|---|
|
#18+
White Owl, Dimitry Sibiryakov, MasterZiv, Правильно ли я понимаю, что для корректной работы функция SnmpRecvMsg должна запускаться только тогда, когда приходит ответная посылка от опрашиваемого устройства? И для этого и нужна SNMPAPI callback function ? MSDNThe Microsoft WinSNMP implementation calls the SNMPAPI_CALLBACK function to notify a WinSNMP session that an SNMP message or asynchronous event is availableПравильно ли помещать SnmpRecvMsg в описании функции fCallback ? Можно ли вернуть в main полученные значения? Возможно ли в функцию fCallback передать дополнительные значения? В моей текущей реализации код функции main продолжает выполняться параллельно с fCallback , при этом пока я поставил костыль (цикл), искусственно продолжающий работу программы, чтобы получить ответ от устройства. Можно ли как-то в рамках консольного приложения отложить завершение программы до выполнения fCallback ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.08.2014, 12:02 |
|
||
|
SnmpRecvMsg function did not complete successfully because all output parameters are NULL
|
|||
|---|---|---|---|
|
#18+
ioscatWhite Owl, Dimitry Sibiryakov, MasterZiv, Правильно ли я понимаю, что для корректной работы функция SnmpRecvMsg должна запускаться только тогда, когда приходит ответная посылка от опрашиваемого устройства? И для этого и нужна SNMPAPI callback function ?Ну где-то так... плюс-минус. Читай внимательно описание SnmpCreateSession. Там даны два разных способа работы. Один основан на WndProc, второй на простом колбеке. Если у тебя есть окошко, то есть и WndProc, который является универсальным колбеком для всех событий. А можно сделать простой колбек который будет срабатывать только на Snmp события. Тогда окошки не нужны или можно сделать параллельно два колбека, один для оконных событий, другой только для SNMP. ioscatВозможно ли в функцию fCallback передать дополнительные значения?Да. Смотри последний параметр. ioscatВ моей текущей реализации код функции main продолжает выполняться параллельно с fCallback , при этом пока я поставил костыль (цикл), искусственно продолжающий работу программы, чтобы получить ответ от устройства. Можно ли как-то в рамках консольного приложения отложить завершение программы до выполнения fCallback ?Ничего параллельного там нет. Для параллельности нужны потоки (или процессы), а колбек это чисто последовательное выполнение. И да, конечно можно "заснуть до срабатывания". Либо делаешь флаг на основе глобальной переменной и периодически засыпаешь-проверяешь-засыпаешь-проверяешь. Самый примитивный метод. Либо делаешь мютекс и засыпаешь пока он не дернется, а в колбеке уже собственно дергаешь этот мютекс. Это уже чаще используется в много-потоковых программах, но можно и в одно-потоковой. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.08.2014, 05:32 |
|
||
|
SnmpRecvMsg function did not complete successfully because all output parameters are NULL
|
|||
|---|---|---|---|
|
#18+
White Owl, спасибо за подробный ответ ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.08.2014, 12:05 |
|
||
|
SnmpRecvMsg function did not complete successfully because all output parameters are NULL
|
|||
|---|---|---|---|
|
#18+
White OwlНичего параллельного там нет. Для параллельности нужны потоки (или процессы), а колбек это чисто последовательное выполнение. И да, конечно можно "заснуть до срабатывания". Либо делаешь флаг на основе глобальной переменной и периодически засыпаешь-проверяешь-засыпаешь-проверяешь. Самый примитивный метод. Либо делаешь мютекс и засыпаешь пока он не дернется, а в колбеке уже собственно дергаешь этот мютекс. Это уже чаще используется в много-потоковых программах, но можно и в одно-потоковой. Сов, а как оно будет вызывать callback, если оно висит в ожидании мьютекса, а ? Тогда надо отдельный поток ещё делать, вызывающий эту всё хрень, в котором будет вызвыаться callback. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.08.2014, 12:11 |
|
||
|
SnmpRecvMsg function did not complete successfully because all output parameters are NULL
|
|||
|---|---|---|---|
|
#18+
White OwlioscatВозможно ли в функцию fCallback передать дополнительные значения?Да. Смотри последний параметр. мы передаём черетырёхбайтный указатель на нечто, а потом говорим, что это указатель на переменную/структуру? Есть переменная int a=0; В CallBack передаём указатель ..., (void*)&a) Внутри CallBack интерпретируем указатель void как нам нужно (в данном случае int) (int*)lpClientData А если передавали структуру, что (struct*)a->member1... etc Верно? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.09.2014, 13:37 |
|
||
|
SnmpRecvMsg function did not complete successfully because all output parameters are NULL
|
|||
|---|---|---|---|
|
#18+
ioscatWhite Owlпропущено... Да. Смотри последний параметр. мы передаём черетырёхбайтный указатель на нечто, а потом говорим, что это указатель на переменную/структуру?Нет. Мы передаем "четырехбайтное нечто". А потом каждый раз при вызове колбека, вызывающая система отдает это "нечто" в колбек. Это не обязательно будет указатель. Это может быть и целое, и трехбуквенная строка, и естественно это может быть указателем на переменную любого типа и любой комплексности. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.09.2014, 00:41 |
|
||
|
|

start [/forum/topic.php?fid=57&msg=38731790&tid=2019305]: |
0ms |
get settings: |
13ms |
get forum list: |
14ms |
check forum access: |
5ms |
check topic access: |
5ms |
track hit: |
62ms |
get topic data: |
10ms |
get forum data: |
3ms |
get page messages: |
58ms |
get tp. blocked users: |
2ms |
| others: | 13ms |
| total: | 185ms |

| 0 / 0 |
