|
2 / 2 / 2
Регистрация: 02.06.2017
Сообщений: 63
|
|
MS SQL ListView - ping строки, выбираемой из списка/отображение списка онлайн машин в сети29.09.2017, 22:59. Показов 1712. Ответов 8
Доброй ночи, форумчане!
Возник насущный вопрос... Может быть, уже и обсуждался, но, по неведомым мне причинам, или я не понял, или не нашел возможный ответ. Суть: MSSQL БД, WinForms программа. Есть ListView, 6 колонок(в целом не суть важно), отображает необходимую информацию. В одной из колонок четко прописан локальный, в другой - внешний IP-адрес компьютера в сети. На ListView находится ContextmenuStrip, при нажатии на строку ListView я бы с помощью ПКМ выбирал пинг до локального или внешнего ip адреса (в разных обработчика, естественно). Вероятно, при обработке события нужен SelectedIndexChange, возможно я не прав. 1. Рассмотрю любые идеи, или, если кто сталкивался, реализации данной идеи. 2. На будущее имеется плане реализации в ListView мониторинга доступности компьютеров онлайн - что-то типа ico/png разных цветов рядом с соответствующей строкой, показывающей, отвечает ли компьютер в настоящий момент. Идеи, реализация? Можно в ЛС, но желательно тут, дабы оставить ответы будущему поколению форумчан Буду рад любой помощи и советам/комментариям. Желательно с исходниками, или помощи на пальцах/для тупых. ![]() Спасибо! ![]()
0
|
|
| 29.09.2017, 22:59 | |
|
Ответы с готовыми решениями:
8
Клиент-сервер: отображение списка онлайн-клиентов Не отображаются элементы списка ListView, полученного у другого списка Создание списка, печать списка на экран, добавления элемента в начало списка, конец списка |
|
|
||
| 30.09.2017, 23:02 | ||
|
Я бы предложил (есди все компьютеры работают на ОС Windows) использовать такую штуку, как WCF Discovery/WCF Announcement (обнаружение/объявление). Очень удобная штука, по правде говоря.
0
|
||
|
2 / 2 / 2
Регистрация: 02.06.2017
Сообщений: 63
|
|
| 01.10.2017, 22:02 [ТС] | |
|
Вечер добрый.
Все компьютеры на Винде, да. Мне по факту не нужно их обнаружение, т.к. ip и имя компа в базе под MSSQL. Именно пингование по адресу из списка Listview. Ну, и иконка статуса в отдельном столбце...
0
|
|
|
360 / 287 / 76
Регистрация: 21.06.2016
Сообщений: 1,115
|
|
| 02.10.2017, 13:37 | |
|
не понятна суть вопроса - Вы не знаете как организовать пинг на шарпе, или не знаете как выдернуть значение в выбранной строке?
И к тому же учтите, что на некоторый компах может стоять firewall, который будет отсекать ICMP запрос даже в рамках локальной сети (не говоря уже о том, что на внешний адрес, да еще и если он выставленный прямо на винде - я бы сам отсекал все внешние раздражители дабы не попасть на флуд по пингу)
0
|
|
|
2 / 2 / 2
Регистрация: 02.06.2017
Сообщений: 63
|
|
| 02.10.2017, 13:50 [ТС] | |
|
Конкретно в данном случае - как взять значение IP из клацнутой строки в listview и отпинговать адрес.
Какого то глобального флуда по пингу не подразумевается - в данном случае вопрос стоит доступности компьютера и получения его ответа. Опять же, это может быть не компьютер, допустим, а КПК с фиксированным IP адресом, пингующийся через Wi-Fi точку.
0
|
|
|
360 / 287 / 76
Регистрация: 21.06.2016
Сообщений: 1,115
|
|
| 02.10.2017, 14:45 | |
Сообщение было отмечено GuardianCoder как решение
Решение
Тогда начинайте отталкиваться не от того, что у Вас есть ListView (его может и не быть, и точно должно не быть на этапе проектирования системы).
Отталкивайтесь от того, что у Вас есть набор строк (а в них есть колонки). Т.е. есть набор сущностей, в данном случае - это компы, из этого следует что есть класс комп со своими полями, и есть какой-то класс "набор компов", а в классе набора есть какой-то лист/таблица компов, в которую мы можем добавлять/удалять компы. И грубо говоря есть свой личный сериализатор/десериализатор который по запросу из сиквела вернет нам сущность "набор компов". Из этого набора (зная Id компа) - уже достаточно тривиально достать айпишник данного компа. А Id нам отдаст уже тот самый злосчатсный ListView своим свойством SelectedRow (может по-другому называется, уже не помню что там в листе можно выцепить). Но это так бы сделал я, а как сделано сейчас - мне пока не понятно, что и как у Вас тянется.
1
|
|
|
2 / 2 / 2
Регистрация: 02.06.2017
Сообщений: 63
|
||||||
| 26.12.2017, 16:37 [ТС] | ||||||
|
Кстати, всё же хочу поделиться на будущее своей наработкой. Хулигану отдельное спасибо за толчок в нужном направлении!
Мне банально проще оказалось перевести из ListView в datagridview и оттуда таскать данные. Любые комментарии и пинки приветствуются. Шарп только осваиваю, потому, за красоту и адекватность кода ручаться и вовсе не могу.
0
|
||||||
|
360 / 287 / 76
Регистрация: 21.06.2016
Сообщений: 1,115
|
||
| 27.12.2017, 09:48 | ||
|
1. Очень много пунктов "Другая ошибка" - смысл тогда перечислять их, можно было всё каскадно перечислить и проваливаться без break каждый раз, ну да ладно, до этого дойдете.
2. Не нужно каждый раз подписываться на событие в цикле, достаточно 1 раз подписаться на этапе загрузки формы (имею в виду на событие пинга). 3. Выдергивать значение из грида - тоже не самое удачное решение, лучше таскать данные из объекта, что прибинден к гриду - тогда можно было бы таскать точно так же и из LisView.
0
|
||
|
2 / 2 / 2
Регистрация: 02.06.2017
Сообщений: 63
|
|
| 27.12.2017, 09:59 [ТС] | |
|
И тем не менее - спасибо!
Буду копать дальше по мере возможности и времени)
0
|
|
| 27.12.2017, 09:59 | |
|
Помогаю со студенческими работами здесь
9
Batch ping из списка адресов Написать код программы, выполняющей растяжку списка и вставку, удаление из списка и сжатие списка
Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Символьное дифференцирование
igorrr37 13.02.2026
/ *
Программа принимает математическое выражение в виде строки и выдаёт его производную в виде строки и вычисляет
значение производной при заданном х
Логарифм записывается как: (x-2)log(x^2+2) -. . .
|
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
|
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу,
и светлой Луне.
В мире
покоя нет
и люди
не могут жить в тишине.
А жить им немного лет.
|
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила»
«Время-Деньги»
«Деньги -Пуля»
|
|
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога
Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
|
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога
Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
|
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL3_image
8Observer8 10.02.2026
Содержание блога
Библиотека SDL3_image содержит инструменты для расширенной работы с изображениями. Пошагово создадим проект для загрузки изображения формата PNG с альфа-каналом (с прозрачным. . .
|
Установка Qt-версии Lazarus IDE в Debian Trixie Xfce
volvo 10.02.2026
В общем, достали меня глюки IDE Лазаруса, собранной с использованием набора виджетов Gtk2 (конкретно: если набирать текст в редакторе и вызвать подсказку через Ctrl+Space, то после закрытия окошка. . .
|