الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

إحدى الطرق لمعرفة هل يوجد اتصال بالإنترنت برمجيا

مغلق
بدأه محمد سامر أبو سلو في 19 أكتوبر 2005 · 34 رد · 2,664 مشاهدة · في Microsoft Visual Basic.NET
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

تفضلوا الكود

Public Function IsConnectionAvailable() As Boolean
    ' Returns True if connection is available 
    ' Replace www.yoursite.com with a site that
    ' is guaranteed to be online - perhaps your 
    ' corporate site, or microsoft.com
    Dim objUrl As New System.Uri("http://www.yoursite.com/")
    ' Setup WebRequest
    Dim objWebReq As System.Net.WebRequest
    objWebReq = System.Net.WebRequest.Create(objUrl)
    Dim objResp As System.Net.WebResponse
    Try
        ' Attempt to get response and return True
        objResp = objWebReq.GetResponse
        objResp.Close()
        objWebReq = Nothing
        Return True
    Catch ex As Exception
        ' Error, exit and return False
        objResp.Close()
        objWebReq = Nothing
        Return False
    End Try
end function

تم تعديل هذه المشاركة بواسطة samerselo في 19 أكتوبر 2005 في 21:15

عن عائشة رضي الله عنها أن النبي صلى الله عليه وسلم قال: إن الله يحب إذا عمل أحدكم عملا أن يتقنه

نعيب زماننا والعيب فينا ... وما لزماننا عيب سوانا

ونهجو ذا الزمان بغير ذنب ... ولو نطق الزمان لنا هجانا

محمد سامر أبو سلو

#2

كود مهم جدا جعله الله فى ميزان حسناتك

VB.NET and C# Comparison

http://www.harding.edu/fmccown/vbnet_csharp_comparison.html

002.gif

=-=-=-=-=-=-=
ذو العلم يشقى فى النعيم بعلمه .:. واخو الجهالة فى الشقاوة ينعم
=-=-=-=-=-=-=
يا من بدنياه اشتغل . قد غره طول الأمل . فالموت يأتى بغتة . والقبر صندوق العمل
=-=-=-=-=-=-=
ان لم تستطع ان تجد ما تفعله فافعل ما لم تسطع ان تجده

screen_shot_2011-05-19_at_12.44.49_pm.pn

#3

شكرا لك أخ SOLO.NET للمرور والرد

عن عائشة رضي الله عنها أن النبي صلى الله عليه وسلم قال: إن الله يحب إذا عمل أحدكم عملا أن يتقنه

نعيب زماننا والعيب فينا ... وما لزماننا عيب سوانا

ونهجو ذا الزمان بغير ذنب ... ولو نطق الزمان لنا هجانا

محمد سامر أبو سلو

#5

جزاك الله خيرا

كنت أبحث عنه ولكن عندي سؤال أريد أن أعرف سرعة النت المسموح لي بها في وقت معين

أي أن يوجد مواقع تقول لك سرعة الإنترنت لديك الآن كذا ، أريد أن أعرف ذلك

Name : Ahmed H. Alawady

Web Site : Alawady.info

Email : alawady_ahmed@hotmail.com

Tel : +2 012 345 6808

#6

شكرا لكم للمرور والردود

@ اخ Ahmed H. Alawady

حاليا ليس لدي جواب سؤالك وإن وفقت لمعرفته سأضع الكود في المنتدى فورا

مع ذلك أعتقد أن أحد الإخوة الذين يعملون ببرمجة الشبكات يمكنهم إجابتك على الموضوع فعلى كل حال يبقى الانترنت بشكل أو بآخر اتصال شبكة

تم تعديل هذه المشاركة بواسطة samerselo في 20 أكتوبر 2005 في 12:05

عن عائشة رضي الله عنها أن النبي صلى الله عليه وسلم قال: إن الله يحب إذا عمل أحدكم عملا أن يتقنه

نعيب زماننا والعيب فينا ... وما لزماننا عيب سوانا

ونهجو ذا الزمان بغير ذنب ... ولو نطق الزمان لنا هجانا

محمد سامر أبو سلو

#7

جزاك الله خيرا- فائدة جيدة

#8

بسم الله الرحمن الرحيم

اخ Ahmed H. Alawady انا وضعت الموقع فى قسم المقالات حتى يستفيد منه الجميع واليك الرابط

/index.php?showtopic=78780

#9

اشكرك أخى samerselo على هذا الكود المهم

هل من الممكن شرح الكود لانة مهم ويمكن تطوير فية ان امكن

الفريق المصري للبرمجة

تحليل وتصميم برامج قواعد بيانات لاتصال بينا masry4u@hotmail.com

#10

كوود ممتاز

وهو واضح انها طريقة ملتوية وذكية

ولكن سؤال هو:

كيف يمكن ان اقوم بالاتصال بالانترنت برمجيا !!!

اي اذا لم اجد هناك اتصال اجعل البرنامج نفسه يتصل بالانترنت!!

<span style='color:green'>سؤل ابن عباس عن علمه كيف جمعه فقال :( أوتيت لسانا سؤولا وقلبا عقولا)</span>

#11

@أخ Romantic_touch

سأحاول إيجاد الكود المناسب مستقبلا

عن عائشة رضي الله عنها أن النبي صلى الله عليه وسلم قال: إن الله يحب إذا عمل أحدكم عملا أن يتقنه

نعيب زماننا والعيب فينا ... وما لزماننا عيب سوانا

ونهجو ذا الزمان بغير ذنب ... ولو نطق الزمان لنا هجانا

محمد سامر أبو سلو

#12

طيب منحاول نشرح الكود

Public Function IsConnectionAvailable() As Boolean

    ' Returns True if connection is available 
    ' Replace www.yoursite.com with a site that
    ' is guaranteed to be online - perhaps your 
    ' corporate site, or microsoft.com
تعريف متغير يحمل عنوان الموقع الذي سنستخدمه لاختبار الوصلة

    Dim objUrl As New System.Uri("http://www.yoursite.com/")

تعريف طلب الويب
    ' Setup WebRequest
    Dim objWebReq As System.Net.WebRequest
انشاء طلب الويب
    objWebReq = System.Net.WebRequest.Create(objUrl)
تعريف متغير سيحمل الاستجابة
    Dim objResp As System.Net.WebResponse
    Try
        ' Attempt to get response and return True
محاول فتح الموقع ووضع الاستجابة في المتغير الخاص بها
        objResp = objWebReq.GetResponse
إغلاق
        objResp.Close()
مساواة طب الويب إلى لاشئ
        objWebReq = Nothing
إعادة true
        Return True
    Catch ex As Exception
عند حدوث خطأ لايوجد اتصال
        ' Error, exit and return False
        objResp.Close()
        objWebReq = Nothing
        Return False
    End Try
end function

عن عائشة رضي الله عنها أن النبي صلى الله عليه وسلم قال: إن الله يحب إذا عمل أحدكم عملا أن يتقنه

نعيب زماننا والعيب فينا ... وما لزماننا عيب سوانا

ونهجو ذا الزمان بغير ذنب ... ولو نطق الزمان لنا هجانا

محمد سامر أبو سلو

#14

مشكور اخوي على هذا الكود

#15

السلام عليكم

مشكووووور

أحس أن الكود طويل شوي

من الممكن هذا الكود ينفع وهو اقصر ولكن خبرتي خفيفه في برمجة ولكن ممكن نشارك معكم :D

الطرقه

عن طريق معرفت ip موقع مثل قوقل فإذا كان هنالك خطأ يعني يغير متصل في النت

وإذا تمت العملية بنجاح يعني هو متصل في النت

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
        Try

        Dim IP As Net.IPAddress = Net.Dns.Resolve("www.gogle.com").AddressList(0)

            MsgBox("متصل")
        Catch
            MsgBox("غير متصل")
            Exit Sub

        End Try

    End Sub

تم تعديل هذه المشاركة بواسطة KSA^Rashed في 23 أكتوبر 2005 في 15:02

#16

شكرا لكم على الاكواد انا بصراحة لم اجرب الكود لان الان انا ماعندي الvb.net :( لكن ماذا لو كان هناك اتصال لكن الخط ضعيف فلن يفتح الموقع ولن يستجيب الموقع او اذا كان هناك خلل في الموقع نفسه فاذا لم يستجيب الموقع سوف يعطي انه غير متصل لكنه هو بالفعل متصل, على ما اظن انه هناك طريقة اقوى عن طريق الapi إن شاء الله ابحث عنها واحطها

تعلم:كيف تشغل برنامجك (قبل) ما يشتغل ال explorer, مثل ال check desk في الوندوز 98 و me

اللهم عطر يومنا بالايمان وانر قلبنا بالقرآن ورزقنا من حيث لانحتسب واجعل لنا سكينة تطمئن بها روحنا واحفظنا من كل سوء اللهم بارك لنا في رجب وشعبان وبلغنا رمضان آمين يارب العالمين

ranneh.com

#17

أخ NO BODY CAN BEAT ME شكرا لك على الرد ونحن بانتظارك

عن عائشة رضي الله عنها أن النبي صلى الله عليه وسلم قال: إن الله يحب إذا عمل أحدكم عملا أن يتقنه

نعيب زماننا والعيب فينا ... وما لزماننا عيب سوانا

ونهجو ذا الزمان بغير ذنب ... ولو نطق الزمان لنا هجانا

محمد سامر أبو سلو

#18

ان شاء الله لكن اصبرو علي شوي اذا لاحظتو انا صارلي زمان ما كتبة اي رد وزمان ما دخلت على المنتدى الحبيب كل هذا لاني قمت بعمل fdisk وكل اشي راح بسبب فيروس الله لا يوفق الي عملة وان شاء الله لما اخلص من هذي الورشة وانصب الvb.net راح احاول احط الكود لكن اعذروني لو تاخرت عليكم:(

تعلم:كيف تشغل برنامجك (قبل) ما يشتغل ال explorer, مثل ال check desk في الوندوز 98 و me

اللهم عطر يومنا بالايمان وانر قلبنا بالقرآن ورزقنا من حيث لانحتسب واجعل لنا سكينة تطمئن بها روحنا واحفظنا من كل سوء اللهم بارك لنا في رجب وشعبان وبلغنا رمضان آمين يارب العالمين

ranneh.com

#19

كود كتبته من مدة طويلة بالأسمبلي

/index.php?showtopic=42826

#20

اخي samerselo ولله اني بحثت كثير ووجدت انو الطريقة الخاصة بك هي افضل طريقة صحيح انه هناك دالة api تقوم بهاذا العمل لكنها احيانا لاترجع معلومات صحيحة انا لم اجربها لاني بالفعل مشغول لفوق راسي من هذا الفيروس العين:(

تعلم:كيف تشغل برنامجك (قبل) ما يشتغل ال explorer, مثل ال check desk في الوندوز 98 و me

اللهم عطر يومنا بالايمان وانر قلبنا بالقرآن ورزقنا من حيث لانحتسب واجعل لنا سكينة تطمئن بها روحنا واحفظنا من كل سوء اللهم بارك لنا في رجب وشعبان وبلغنا رمضان آمين يارب العالمين

ranneh.com

#21

يعني طلع كلامي مزبوط :)

فيه فايروس في جهازك

خخخخخخخخخخخخخخخ

شكلة الفايروس من البقعة بدك تنقع الجهاز في ديتول 4 ايام خخخخخخخ

<span style='color:green'>سؤل ابن عباس عن علمه كيف جمعه فقال :( أوتيت لسانا سؤولا وقلبا عقولا)</span>

#22

طيب يا أخ NO BODY CAN BEAT ME في مجال تفيدنا على الأقل باسم الدالة التي تذكرها لتعم الفائدة على الجميع فربما أحد يستطيع إيجاد حل أفضل للجميع وخصوصا الأخوة الذين يعملون في برمجة الشبكات

تم تعديل هذه المشاركة بواسطة samerselo في 26 أكتوبر 2005 في 01:33

عن عائشة رضي الله عنها أن النبي صلى الله عليه وسلم قال: إن الله يحب إذا عمل أحدكم عملا أن يتقنه

نعيب زماننا والعيب فينا ... وما لزماننا عيب سوانا

ونهجو ذا الزمان بغير ذنب ... ولو نطق الزمان لنا هجانا

محمد سامر أبو سلو

#23
اقتباس
لكنها احيانا لاترجع معلومات صحيحة
اقتباس
انا لم اجربها

طيب كيف عرفت أنها تعطي معلومات غير صحيحة وأنت لم تجربها ؟؟

أيضاً أرجو توضيح ما هي الدالة التي استخدمتها ، وكيف أعطت نتائج غير صحيحة ، لأن هذا الكلام يحتاج إثبات علمي

بالنسبة للأخ الكريم samerselo

فهذه الدالة ستفيدك كثيراً في هذا المجال بإذن لله تعالى InternetGetConnectedState وستجدها في المكتبة wininet.dll

#24

حاولت اضيف ملف wininet.dll

على الريفرينس بيعطيني مشكلة :(

<span style='color:green'>سؤل ابن عباس عن علمه كيف جمعه فقال :( أوتيت لسانا سؤولا وقلبا عقولا)</span>

#25

لا لم أقل أن تضيف المكتبة كـ reference

حتى تفهم ما أقصد ، إليك هذا الكود ، وهو يوضح لك إذا كنت متصلاً أم لا وأيضاً يوضح ما نوع الاتصال في حالة إلذا كنت متصلاً ، وهو يختلف عن أسلوب ال ping الذي استخدمته أنت في في بداية الموضوع فهنا نستخدم دوال API

الآن افتح Form جديد وامسح كل الكود المكتوب بداخله (كل الكود لا تترك شيئاً) ثم انسخ هذا الكود وضعه بدلاً من الذي حذفته

وستجد ان البريمج هذا يوضح لك شيئين ، هل انت متصل أم لا ، وكذك ما نوع اتصالك

أكيد هذا الكود سيكون أفضل لو كان على شكل class حتى نحقق مفاهيم ال OOP ولكن للأسف ليس لدي وقت لذلك ، ولا أشك في مقدرتك على إنشاءه :)

Public Class Form1
    Inherits System.Windows.Forms.Form

#Region " Windows Form Designer generated code "

    Public Sub New()
        MyBase.New()

        'This call is required by the Windows Form Designer.
        InitializeComponent()

        'Add any initialization after the InitializeComponent() call

    End Sub

    'Form overrides dispose to clean up the component list.
    Protected Overloads Overrides Sub Dispose(ByVal disposing As Boolean)
        If disposing Then
            If Not (components Is Nothing) Then
                components.Dispose()
            End If
        End If
        MyBase.Dispose(disposing)
    End Sub

    'Required by the Windows Form Designer
    Private components As System.ComponentModel.IContainer

    'NOTE: The following procedure is required by the Windows Form Designer
    'It can be modified using the Windows Form Designer.  
    'Do not modify it using the code editor.
    Friend WithEvents Button1 As System.Windows.Forms.Button
    Friend WithEvents Button2 As System.Windows.Forms.Button
    <System.Diagnostics.DebuggerStepThrough()> Private Sub InitializeComponent()
        Me.Button1 = New System.Windows.Forms.Button
        Me.Button2 = New System.Windows.Forms.Button
        Me.SuspendLayout()
        '
        'Button1
        '
        Me.Button1.Font = New System.Drawing.Font("Microsoft Sans Serif", 9.75!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(178, Byte))
        Me.Button1.Location = New System.Drawing.Point(188, 40)
        Me.Button1.Name = "Button1"
        Me.Button1.Size = New System.Drawing.Size(152, 23)
        Me.Button1.TabIndex = 0
        Me.Button1.Text = "هل انا متصل بالإنترنت ؟"
        '
        'Button2
        '
        Me.Button2.Font = New System.Drawing.Font("Microsoft Sans Serif", 9.75!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(178, Byte))
        Me.Button2.Location = New System.Drawing.Point(20, 40)
        Me.Button2.Name = "Button2"
        Me.Button2.Size = New System.Drawing.Size(152, 23)
        Me.Button2.TabIndex = 1
        Me.Button2.Text = "ما نوع اتصالي ؟"
        '
        'Form1
        '
        Me.AutoScaleBaseSize = New System.Drawing.Size(5, 13)
        Me.ClientSize = New System.Drawing.Size(360, 86)
        Me.Controls.Add(Me.Button2)
        Me.Controls.Add(Me.Button1)
        Me.Name = "Form1"
        Me.Text = "Form1"
        Me.ResumeLayout(False)

    End Sub

#End Region
   

    Private Enum ConType
        LAN = 1
        MODEM = 2
        NONE = 3
        ALREADY = 4
    End Enum
    Private Const INTERNET_CONNECTION_LAN As Long = &H2
    Private Const INTERNET_CONNECTION_MODEM As Long = &H1
    Private Declare Function InternetGetConnectedState _
    Lib "wininet.dll" (ByRef lpSFlags As Long, _
    ByVal dwReserved As Long) As Long

    Private Function ViaLAN() As Boolean

        Dim SFlags As Long
        'return the flags associated with the connection
        Call InternetGetConnectedState(SFlags, 0&)

        'True if the Sflags has a LAN connection
        ViaLAN = SFlags And INTERNET_CONNECTION_LAN

    End Function
    Private Function ViaModem() As Boolean

        Dim SFlags As Long
        'return the flags associated with the connection
        Call InternetGetConnectedState(SFlags, 0&)

        'True if the Sflags has a modem connection
        ViaModem = SFlags And INTERNET_CONNECTION_MODEM

    End Function

    Private Function Online() As Boolean
        'If you are online it will return True, otherwise False
        Online = InternetGetConnectedState(0&, 0&)
    End Function

    Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
        If ViaModem() Then
            MsgBox("تستخدم مودم", vbOKOnly, "ConnInfo")
        ElseIf ViaLAN() Then
            MsgBox("عبر شبكة LAN", vbOKOnly, "ConnInfo")
        Else
            MsgBox("غير معروف", vbOKOnly, "ConnInfo")
        End If
    End Sub


    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
        If Online() Then
            MsgBox("نعم أنت متصل!", vbOKOnly, "ConnInfo")
        Else
            MsgBox("لا .. لست متصل الآن", vbOKOnly, "ConnInfo")
        End If
    End Sub
End Class

هذا الموضوع مغلق.

مواضيع مشابهة

عدد الزوار حالياً

المتواجدون خلال آخر دقيقتين · يتحدّث كل ٣٠ ثانية

—الإجمالي—أعضاء مسجّلون—زوار بدون تسجيل

جارٍ التحقق من المتواجدين…