C#.NET LAN въпрос

9 отговора 396 прегледа
#1

C#.NET LAN въпрос

Имам следния проблем: искам да взема IP адресите на всички компютри в LAN-а, в които се намирам. Нещо не мога да разбера как точно да го направя. Ако някой може да ми даде някакво примерче или поне идея, ще е много гот. Може би може да стане чрез broadcast :), поне така мисля, но тази област ми е мътна и кървава. Демек - не знам как, помагайте!

Мерси от сега!

Отговор
в отговор на Дeбeл #2

Re: C#.NET LAN въпрос

Ако мрежата ти е с domain става с DirectoryServices, иначе потърси за WNetEnumResource, WNetOpenEnum, interop и С#. Ако не изровиш нищо мога да ти пратя.

If you don't care where you are going any road will get you there
Отговор
в отговор на Дeбeл #3

Re: C#.NET LAN въпрос

в общия случай - не можеш. ако няма firewalls и т.н. - ping-ваш целия range и чакаш.

(и не се напъвай с broadcast ping-ове, Windows ги игнорира вместо да echo-ва)

Редактирано от gruhal на

Отговор
в отговор на Дeбeл #4

Re: C#.NET LAN въпрос

az predi vreme pisah neshto takova, izrovi si sorsa ot GotDotNet, tam go
ima kato example tochno tova neshto.

3y/\yM

Отговор
в отговор на antipop #5

Re: C#.NET LAN въпрос

Ако ми пратиш пример ще бъде страхотно, тук затъвам в работа. Ако искаш на e-mail kazanjieva@hotmail.com. Ако не пратиш - жив и здрав, поне ме насочи, и това е много. Ths.

Отговор
в отговор на antipop #6

Мерси на всички!

Оправих работата

Отговор
в отговор на Дeбeл #7

UdpClient

Може ли някой да ми каже защо този код

UdpClient listener = new UdpClient();
IPEndPoint nEP = new IPEndPoint(IPAddress.Any,21003);
try
{
Byte[] bytes = listener.Receive(ref nEP);
}
catch(Exception ex)
{
//блаааа код
}

ми гърми на реда
Byte[] bytes = listener.Receive(ref nEP);
със SocketException, като във всички примери е дадено така: IPAddress.Any (т.е., ако напиша конкретен IPAddress всичко е наред (не всичко де - не работи правилно)), но въпроса е защо по дяволите гърми когато е записано така?

Отговор
в отговор на Дeбeл #8

Re: UdpClient

napishi kakva e stojnostta na ex.ErrorCode

Отговор
в отговор на rto #9

About the exception

Exception type:
System.Net.Sockets.SocketException

Exception message:
"An invalid argument was supplied"

Exception stack trace:
ex.StackTrace
at System.Net.Sockets.Socket.ReceiveFrom(Byte[] buffer, Int32 offset, Int32 size, SocketFlags socketFlags, EndPoint& remoteEP)\r\n
at System.Net.Sockets.Socket.ReceiveFrom(Byte[] buffer, Int32 size, SocketFlags socketFlags, EndPoint& remoteEP)\r\n
at System.Net.Sockets.UdpClient.Receive(IPEndPoint& remoteEP)\r\n

ErrorCode:
10022

Отговор
в отговор на Дeбeл #10

Въпросът ми още стои

Все още не е разрешен въпроса с UdpClient. Напоследък нямах време да го поразуча. Ако някой може да помогне - ако е имал същия проблем или знае защо я дава тази грешка 10022...

Отговор