رفتن به مطلب
  • 0

اطلاعات دستگاه های متصل شده به نقطه اتصال


hosseinkarimian

سوال

با سلام چطور میشه مثلا تعداد دستگاه های متصل به نقطه اتصال گوشی را بدست اورد.و ای پی اون هارو بدست اورد

لینک ارسال
به اشتراک گذاری در سایت های دیگر

5 پاسخ به این سوال تاکنون داده شده است

ارسال‌های توصیه شده

در در 1395/09/08, 17:25:08، محمدرضا شاهپیری گفته است :

 از این روش استفاده کنید

اول متد زیر رو به اکتیویتی اضافه کنید


#If java
import java.io.BufferedReader;
import java.io.FileReader;
import anywheresoftware.b4a.objects.collections.Map.MyMap;
@SuppressWarnings("resource")
	public MyMap getClientList() {
		MyMap mymap=new MyMap();
	    BufferedReader br = null;
	    try {
	        br = new BufferedReader(new FileReader("/proc/net/arp"));
	        String line;
	        int i=0;
	        while ((line = br.readLine()) != null) {
	            String[] splitted = line.split(" +");
	            if (splitted != null ) {
	                String mac = splitted[3];
	              	  if (mac.matches("..:..:..:..:..:..")) {	                    
	                    mymap.put("ipadres"+i, splitted[0]);
	                    }
	            }
	            i+=1;
	        }
	    } catch(Exception e) {

	    } 
	    return mymap;
	}
#End If

کتابخونه جاوا آبجکت رو تیک بزنید و به شکل زیر آی پی دیوایسهایی که به هات اسپات وصله رو بگیرید


Dim jav As JavaObject
	Dim  maccont As Map
	maccont.Initialize
	maccont=jav.InitializeContext.RunMethod("getClientList",Null)
	For i=1 To maccont.Size
		ToastMessageShow(maccont.Get("ipadres"&i),True)
	Next

 

 

با سلام از شما خیلی سپاسگزارم.

این کد درست عمل کرد ولی مثلا فرض کنید شما 3 گوشی را به نقطه اتصال گوشی وصل  کردین یکی از این 3 گوشی ارتباط را قطع می کند و کد تعداد را همان 3 نمایش می دهد.

لینک ارسال
به اشتراک گذاری در سایت های دیگر

 از این روش استفاده کنید

اول متد زیر رو به اکتیویتی اضافه کنید

#If java
import java.io.BufferedReader;
import java.io.FileReader;
import anywheresoftware.b4a.objects.collections.Map.MyMap;
@SuppressWarnings("resource")
	public MyMap getClientList() {
		MyMap mymap=new MyMap();
	    BufferedReader br = null;
	    try {
	        br = new BufferedReader(new FileReader("/proc/net/arp"));
	        String line;
	        int i=0;
	        while ((line = br.readLine()) != null) {
	            String[] splitted = line.split(" +");
	            if (splitted != null ) {
	                String mac = splitted[3];
	              	  if (mac.matches("..:..:..:..:..:..")) {	                    
	                    mymap.put("ipadres"+i, splitted[0]);
	                    }
	            }
	            i+=1;
	        }
	    } catch(Exception e) {

	    } 
	    return mymap;
	}
#End If

کتابخونه جاوا آبجکت رو تیک بزنید و به شکل زیر آی پی دیوایسهایی که به هات اسپات وصله رو بگیرید

Dim jav As JavaObject
	Dim  maccont As Map
	maccont.Initialize
	maccont=jav.InitializeContext.RunMethod("getClientList",Null)
	For i=1 To maccont.Size
		ToastMessageShow(maccont.Get("ipadres"&i),True)
	Next

 

لینک ارسال
به اشتراک گذاری در سایت های دیگر

کاریش نمیشه کرد عزیز تنها راهی که میشه دسترسی پیدا کرد به اطلاعات هات اسپات خوندن فایل تو این مسیره 

"/proc/net/arp"

و این باعث میشه اطلاعات با تاخیر به دست شما برسه چون لیسنینگ خاصی واسه این موضوع نیست شما درمورد این قضیه تحقیق کنید حالا جاوا یا بیسیک اگه چیزی دیدین بزارین من نگا میکنم و خدمتتون تبدیلات لازم رو انجام میدم

لینک ارسال
به اشتراک گذاری در سایت های دیگر

در 9 دقیقه قبل، محمدرضا شاهپیری گفته است :

کاریش نمیشه کرد عزیز تنها راهی که میشه دسترسی پیدا کرد به اطلاعات هات اسپات خوندن فایل تو این مسیره 


"/proc/net/arp"

و این باعث میشه اطلاعات با تاخیر به دست شما برسه چون لیسنینگ خاصی واسه این موضوع نیست شما درمورد این قضیه تحقیق کنید حالا جاوا یا بیسیک اگه چیزی دیدین بزارین من نگا میکنم و خدمتتون تبدیلات لازم رو انجام میدم

چشم حتما تازه من این کد زیر رو پیدا کردم که این کد مثل کد شما فایل رو می خونه

 

#Region  Project Attributes
    #ApplicationLabel: Network Mapper
    #VersionCode: 1
    #VersionName: 1.0
    #SupportedOrientations: unspecified
    #CanInstallToExternalStorage: False
#End Region

#Region  Activity Attributes
    #FullScreen: False
    #IncludeTitle: True
#End Region
Sub Process_Globals
Dim sb As StringBuilder
Dim p As Phone
End Sub
Sub Globals
Dim ClientList As ListView
End Sub
Sub Activity_Create(FirstTime As Boolean)
sb.Initialize
Activity.LoadLayout("main")
Activity.AddMenuItem("Refresh","Refresh")
Activity.AddMenuItem("Exit","Shutdown")
GetList
End Sub
Sub Activity_Resume
End Sub
Sub Activity_Pause (UserClosed As Boolean)
End Sub
Sub ClientList_ItemClick (Position As Int, Value As Object)
End Sub
Sub ClientList_ItemLongClick (Position As Int, Value As Object)
 
End Sub
Sub GetList
    ClientList.Clear
    p.Shell("cat /proc/net/arp", Null, sb, Null)
    File.WriteString(File.DirInternal,"Catch.arp",sb.ToString)
    Dim TextReader1 As TextReader
    TextReader1.Initialize(File.OpenInput(File.DirInternal, "Catch.arp"))
    Dim line As String
    line = TextReader1.ReadLine
    Do While line <> Null
    If line.Contains("HW") Then
    line = TextReader1.ReadLine
    Else
    Dim v As String
    v = line
    ClientList.AddTwoLines(v.SubString2(41,59),v.SubString2(0,14))
    line = TextReader1.ReadLine
    End If
    Loop
    TextReader1.Close
    File.Delete(File.DirInternal,"Catch.arp")
    sb.Remove(0,sb.Length)
	ClientList.Color=Colors.Blue
End Sub
Sub Refresh_click
GetList
End Sub
Sub Shutdown_click
Activity.Finish
End Sub

 

لینک ارسال
به اشتراک گذاری در سایت های دیگر

در 20 دقیقه قبل، maxnet13 گفته است :

چشم حتما تازه من این کد زیر رو پیدا کردم که این کد مثل کد شما فایل رو می خونه

 


#Region  Project Attributes
    #ApplicationLabel: Network Mapper
    #VersionCode: 1
    #VersionName: 1.0
    #SupportedOrientations: unspecified
    #CanInstallToExternalStorage: False
#End Region

#Region  Activity Attributes
    #FullScreen: False
    #IncludeTitle: True
#End Region
Sub Process_Globals
Dim sb As StringBuilder
Dim p As Phone
End Sub
Sub Globals
Dim ClientList As ListView
End Sub
Sub Activity_Create(FirstTime As Boolean)
sb.Initialize
Activity.LoadLayout("main")
Activity.AddMenuItem("Refresh","Refresh")
Activity.AddMenuItem("Exit","Shutdown")
GetList
End Sub
Sub Activity_Resume
End Sub
Sub Activity_Pause (UserClosed As Boolean)
End Sub
Sub ClientList_ItemClick (Position As Int, Value As Object)
End Sub
Sub ClientList_ItemLongClick (Position As Int, Value As Object)
 
End Sub
Sub GetList
    ClientList.Clear
    p.Shell("cat /proc/net/arp", Null, sb, Null)
    File.WriteString(File.DirInternal,"Catch.arp",sb.ToString)
    Dim TextReader1 As TextReader
    TextReader1.Initialize(File.OpenInput(File.DirInternal, "Catch.arp"))
    Dim line As String
    line = TextReader1.ReadLine
    Do While line <> Null
    If line.Contains("HW") Then
    line = TextReader1.ReadLine
    Else
    Dim v As String
    v = line
    ClientList.AddTwoLines(v.SubString2(41,59),v.SubString2(0,14))
    line = TextReader1.ReadLine
    End If
    Loop
    TextReader1.Close
    File.Delete(File.DirInternal,"Catch.arp")
    sb.Remove(0,sb.Length)
	ClientList.Color=Colors.Blue
End Sub
Sub Refresh_click
GetList
End Sub
Sub Shutdown_click
Activity.Finish
End Sub

 

آیا میشه کدی قرار داد که مثلا اگر این ایپی ها اگر وصله نمایش بده اگر وصل نبود نمایش نده

لینک ارسال
به اشتراک گذاری در سایت های دیگر

بایگانی شده

این موضوع بایگانی و قفل شده و دیگر امکان ارسال پاسخ نیست.

  • کاربران آنلاین در این صفحه   0 کاربر

    • هیچ کاربر عضوی،در حال مشاهده این صفحه نیست.
×
×
  • اضافه کردن...