نمایش نتایج 1 تا 3 از 3

نام تاپیک: تشخیص آنلاین بودن یک IP

  1. #1

    تشخیص آنلاین بودن یک IP

    سلام به همه دوستان
    من میخوام یک رنج در فرم قرار بدم که وقتی کاربر روی دکمه کلیک کرد چک کنه و آی پی هایی که آنلاین هستند در ستون وضعیت OK و اگر نیستند NO نمایش بده . من با کد زیر مشکلم را حل کردم و در واقع برنامه Ping آی پی ها را میگیره و هرکدوم پینگ داشت OK می نویسه ولی مشکل من اینجاست که هر سیتمی که آنلاین نیست 5 ثانیه بیشتر زمان می بره و در شبکه من که حدود 170 کاربر هست اگه 100 تا آنلاین نباشند چیزی حدود 1.5 دقیقه طول میکشه که زمان زیادی هست . آیا روش دیگری هست که زودتر بشه چک و نتیجه نمایش داده شود . با سپاس فراوان از شما

        

    Protected Sub Button3_Click(sender As Object, e As EventArgs) Handles Button3.Click
    Dim PingTable As New DataTable
    PingTable.Columns.Add("IP_Address")
    PingTable.Columns.Add("Status")


    Dim i As Integer
    Dim j As Integer = 0


    Dim row_total As Integer = 20


    For i = 1 To row_total
    Dim PingRow As DataRow = PingTable.NewRow()
    PingRow(0) = "192.168.88." & i + j


    Scan(PingRow(0), PingRow(1))


    PingTable.Rows.InsertAt(PingRow, PingTable.Rows.Count)
    Next


    GridView1.DataSource = PingTable
    GridView1.DataBind()


    End Sub


    Sub Scan(ByVal IP, ByRef Status)


    Dim strComputer As String = IP
    Dim objShell = CreateObject("WScript.Shell")
    Dim objScriptExec = objShell.Exec("ping -n 1 -w 100 " & strComputer)
    Dim strPingResults = LCase(objScriptExec.StdOut.ReadAll)


    If InStr(strPingResults, "reply from") Then
    Status = "OK"
    Else
    Status = "NO"
    End If




    End Sub


  2. #2

    نقل قول: تشخیص آنلاین بودن یک IP

    سلام . دوستان واقعا راهی وجود ندارد ؟

  3. #3

    نقل قول: تشخیص آنلاین بودن یک IP

    میتونی از ایونت های Session_OnStart و Session_OnEnd فایل global.asax استفاده کنی
    موقعی که کاربری سایت رو باز میکنه با ایونت Session_OnStart ای پی اون رو بریز توی جدول ای پی های انلاین
    و در Session_OnEnd اون ای پی رو پاک کن


    راه دیگش اینه که همین روشی که رفتی ، رو به صورت اژاکسی فراخونی کنی
    یعنی صفحه ات لود بشه ، بعد در پس زمینه
    یکی یکی ، این ای پی ها رو چک کنی و اگر انلاین هستند ، اون مقدار مد نظرت رو ON کنی

    یه راه دیگش استفاده از خود ASP.NET Membership هست (تا جایی که توی ذهنم هست ، فکر میکنم خودش همچین موردی داشت)

    یه سری راه حل هم اینجا هستش

تاپیک های مشابه

  1. تشخیص فوکوس بودن یک پنجره خاص
    نوشته شده توسط S_VB.max در بخش برنامه نویسی در 6 VB
    پاسخ: 2
    آخرین پست: چهارشنبه 26 بهمن 1384, 22:53 عصر
  2. تشخیص Focus بودن یک شی با استفاده از Handle
    نوشته شده توسط bluemilad در بخش برنامه نویسی در 6 VB
    پاسخ: 1
    آخرین پست: جمعه 03 مهر 1383, 01:08 صبح
  3. تشخیص Focus بودن یک شی با استفاده از Handle
    نوشته شده توسط bluemilad در بخش برنامه نویسی در 6 VB
    پاسخ: 2
    آخرین پست: چهارشنبه 25 شهریور 1383, 00:49 صبح
  4. تشخیص Focus بودن یک شی با استفاده از Handle
    نوشته شده توسط bluemilad در بخش برنامه نویسی در 6 VB
    پاسخ: 0
    آخرین پست: سه شنبه 24 شهریور 1383, 14:14 عصر
  5. تشخیص اجرا بودن یک برنامه
    نوشته شده توسط HamidVB در بخش برنامه نویسی در 6 VB
    پاسخ: 2
    آخرین پست: دوشنبه 15 تیر 1383, 14:39 عصر

قوانین ایجاد تاپیک در تالار

  • شما نمی توانید تاپیک جدید ایجاد کنید
  • شما نمی توانید به تاپیک ها پاسخ دهید
  • شما نمی توانید ضمیمه ارسال کنید
  • شما نمی توانید پاسخ هایتان را ویرایش کنید
  •