السلام عليكم
كيف يمكن الحصول علي اسماء الاجهزة علي الشبكة وارقام ال ip الخاص بكل جهاز
السلام عليكم
كيف يمكن الحصول علي اسماء الاجهزة علي الشبكة وارقام ال ip الخاص بكل جهاز
تم تعديل هذه المشاركة بواسطة hay3am في 27 فبراير 2010 في 13:13
[moveright]Haytham [/moveright]
وعليك السلام اخي الكريم
قمنا بمناشة هذا الموضوع مسبقا ويوجد له عدة حلول اسهلها تحديد الـSubnet لشبكة الحالية والأي بي ثم تقوم بعمل برنامج Ping ترسل لكل اي بي على التوالي والذي يرجع منها Replay يوضع في List خاصة ولجلب الأسم يمكن ذلك من خلال دالة GetHostName By IP في الـDNS راجع المواضيع المثبتة في القسم
بالتوفيق
جزاك الله خيراً اخ فادي
لقد قمت بالبحث بالفعل ولكن لم استطع الوصول
وسوف اطلع علي الموضوعات المثبتة كما ذكرت
وشكرا اخ فادي للمرة الثانية
[moveright]Haytham [/moveright]
السلام عليكم ورحمة الله وبركاته ........................
#Region "Declarations"
Private Declare Unicode Function NetServerEnum Lib "netapi32" _
(ByVal Servername As IntPtr, _
ByVal Level As Integer, _
ByRef bufptr As IntPtr, _
ByVal PrefMaxLen As Integer, _
ByRef entriesread As Integer, _
ByRef TotalEntries As Integer, _
ByVal serverType As Integer, _
ByVal Domain As IntPtr, _
ByVal ResumeHandle As IntPtr) As Integer
Declare Unicode Function NetApiBufferFree Lib "netapi32.dll" _
(ByRef buffer As IntPtr) As Long
Public Structure _SERVER_INFO_100
Friend sv100_platform_id As Integer
<MarshalAs(UnmanagedType.LPWStr)> _
Friend sv100_name As String
End Structure
#End Region
#Region "Get network computers"
Public Function GetNetworkComputers() As ArrayList
Dim networkComputers As New ArrayList()
Const MAX_PREFERRED_LENGTH As Integer = -1
Dim SV_TYPE_WORKSTATION As Integer = 1
Dim SV_TYPE_SERVER As Integer = 2
Dim buffer As IntPtr = IntPtr.Zero
Dim tmpBuffer As IntPtr = IntPtr.Zero
Dim entriesRead As Integer = 0
Dim totalEntries As Integer = 0
Dim resHandle As Integer = 0
Dim sizeofINFO As Integer = Marshal.SizeOf(GetType(_SERVER_INFO_100))
Try
Dim ret As Integer = NetServerEnum(Nothing, 100, buffer, MAX_PREFERRED_LENGTH, entriesRead, totalEntries, _
SV_TYPE_WORKSTATION Or SV_TYPE_SERVER, Nothing, resHandle)
If ret = 0 Then
For i As Integer = 0 To totalEntries
tmpBuffer = New IntPtr(CType(buffer, Integer) + (i * sizeofINFO))
Dim svrInfo As _SERVER_INFO_100 = CType(Marshal.PtrToStructure(tmpBuffer, _
GetType(_SERVER_INFO_100)), _SERVER_INFO_100)
networkComputers.Add(svrInfo.sv100_name)
Next
End If
Catch ex As Exception
Console.WriteLine("Error getting network computers.")
Finally
NetApiBufferFree(buffer)
End Try
Return networkComputers
End Function
#End Region
' Example Usage
Dim networkComps As ArrayList = GetNetworkComputers()
For Each Str As String In networkComps
Console.WriteLine(Str)
Nextمنقول من هنــــــــــــــــــــــــــــــا :happy:
مدونتي
ارسال واستقبال الكائنات عبر الشبكة
مصفوفة ادوات HTML و PHP, افكار وتلميحات
الكائنات والاحداث في PHP
كيفية عمل Array List في ال PHP
التشفير بواسطة الازاحة في PHP
كيفية عمل Backup لقاعدة بيانات MySql من PHP
وما الدنيا الا حلم كبيييييييييييييييييييييييييييير لا نستيقظ منه الا عندما نموت !!!!
كلام جميل جزاكم الله خيرا كنت أبحث عنه من فترة
لكن أنا عندي خصوصية في مشروعي في هذه النقطة .
عندي client application and server applicalion
أريد من خلال عملية ping أن ترجعلي فقط الأجهرة التي عليها client application و ليس كل الأجهزة في الشبكة ...
أنتظر رد كم و لكم مني جزيل الشكر و عظيم الإمتنانا