C#.NET LAN въпрос
9 отговора
396 прегледа
C#.NET LAN въпрос
Имам следния проблем: искам да взема IP адресите на всички компютри в LAN-а, в които се намирам. Нещо не мога да разбера как точно да го направя. Ако някой може да ми даде някакво примерче или поне идея, ще е много гот. Може би може да стане чрез broadcast :), поне така мисля, но тази област ми е мътна и кървава. Демек - не знам как, помагайте!
Мерси от сега!
Мерси от сега!
Re: C#.NET LAN въпрос
Ако мрежата ти е с domain става с DirectoryServices, иначе потърси за WNetEnumResource, WNetOpenEnum, interop и С#. Ако не изровиш нищо мога да ти пратя.
If you don't care where you are going any road will get you there
If you don't care where you are going any road will get you there
Re: C#.NET LAN въпрос
в общия случай - не можеш. ако няма firewalls и т.н. - ping-ваш целия range и чакаш.
(и не се напъвай с broadcast ping-ове, Windows ги игнорира вместо да echo-ва)
(и не се напъвай с broadcast ping-ове, Windows ги игнорира вместо да echo-ва)
Редактирано от gruhal на
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
ima kato example tochno tova neshto.
3y/\yM
Re: C#.NET LAN въпрос
Ако ми пратиш пример ще бъде страхотно, тук затъвам в работа. Ако искаш на e-mail kazanjieva@hotmail.com. Ако не пратиш - жив и здрав, поне ме насочи, и това е много. Ths.
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 всичко е наред (не всичко де - не работи правилно)), но въпроса е защо по дяволите гърми когато е записано така?
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 всичко е наред (не всичко де - не работи правилно)), но въпроса е защо по дяволите гърми когато е записано така?
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
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
Въпросът ми още стои
Все още не е разрешен въпроса с UdpClient. Напоследък нямах време да го поразуча. Ако някой може да помогне - ако е имал същия проблем или знае защо я дава тази грешка 10022...