Наши проекты:
Журнал · Discuz!ML · Wiki · DRKB · Помощь проекту |
||
ПРАВИЛА | FAQ | Помощь | Поиск | Участники | Календарь | Избранное | RSS |
[18.216.34.146] |
|
Сообщ.
#1
,
|
|
|
Вот никак не пойму как реализовать. Хочу сделать так чтобы программа при запуске отправила сообщение всей подсети о себе и чтобы другие копии этой программы в сети (запущенные на других машинах ) получили это сообщение сравнили номер серийника и дали ответ именно той копии которая отправила запрос.
|
Сообщ.
#2
,
|
|
|
Pit-Bul, получается все твои приложения в сети должны слушать какой-то порт. Твоя программа при запуске получает список всех машин в сети (где-то на форуме обсуждалось), и конектится к каждой
|
Сообщ.
#3
,
|
|
|
юзай UDP пакеты групповвой рассылки (MultiCastGroup)
udpClient.JoinMulticastGroup(<ip групповой рассылки>) при этом ip по моему 4-ой группы: 224.0.0.0 - 239.255.255.255 |
Сообщ.
#4
,
|
|
|
тогда возникает вопрос, как получить адреса подсети, в принципе как говорил PIL я нашол как найти имена всех машин, но получить IP адреса тот метод не позволяет, в результате придется еще и имена переводить в адреса. Не изящьно как-то, неужели нельза сразу определить диапазон подсети. Думаю через контроллер домена(в моем случае пойдет) как то определить можно, но пока не найду в какую сторону рыть
|
Сообщ.
#5
,
|
|
|
банально Proces.Start("ipconfig");
и парсить вывод. |
Сообщ.
#6
,
|
|
|
Pit-Bul - вот как имена перевести в адреса:
IPAddress[] ads = Dns.GetHostAddresses("winas"); |
Сообщ.
#7
,
|
|
|
PIL, спасибо, видел раньше строку на форуме, но найти так и не смог
%оффтоп% либо на форуме поиск стал хуже работать (постоянно выдает "Ничего не найдено по Вашему запросу"), либо мои руки кривее стали |
Сообщ.
#8
,
|
|
|
Цитата Pit-Bul @ - проверил, вроде ищет, только не удобно что по одному разделу.. либо на форуме поиск стал хуже работать |