تقييم الموضوع :
  • 0 أصوات - بمعدل 0
  • 1
  • 2
  • 3
  • 4
  • 5
[سؤال] اريد شرح الكود او توضيح الفكرة العامة له
#1
السلام عليكم ورحمة الله وبركاته
اريد حد يشرحلى الكود ده او يوضح الفكرة العامة له


كود :
Public Class Form1

    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
        MsgBox(GetFastestNISTDate().ToLocalTime)
    End Sub

    Public Function GetFastestNISTDate() As DateTime
        Dim result = DateTime.MinValue
        ' Initialize the list of NIST time servers
        ' http://tf.nist.gov/tf-cgi/servers.cgi
        Dim servers As String() = New String() _
        {"nist1-ny.ustiming.org", "nist1-nj.ustiming.org", "nist1-pa.ustiming.org", "time-a.nist.gov", "time-b.nist.gov", "nist1.aol-va.symmetricom.com", _
         "nist1.columbiacountyga.gov", "nist1-chi.ustiming.org", "nist.expertsmi.com", "nist.netservicesgroup.com"}

        ' Try 5 servers in random order to spread the load
        Dim rnd As New Random()
        For Each server As String In servers.OrderBy(Function(s) rnd.NextDouble()).Take(5)
            Try
                ' Connect to the server (at port 13) and get the response
                Dim serverResponse As String = String.Empty
                Using reader = New IO.StreamReader(New System.Net.Sockets.TcpClient(server, 13).GetStream())
                    serverResponse = reader.ReadToEnd()
                End Using

                ' If a response was received
                If Not String.IsNullOrEmpty(serverResponse) Then
                    ' Split the response string ("55596 11-02-14 13:54:11 00 0 0 478.1 UTC(NIST) *")
                    Dim tokens As String() = serverResponse.Split(" "c)

                    ' Check the number of tokens
                    If tokens.Length >= 6 Then
                        ' Check the health status
                        Dim health As String = tokens(5)
                        If health = "0" Then
                            ' Get date and time parts from the server response
                            Dim dateParts As String() = tokens(1).Split("-"c)
                            Dim timeParts As String() = tokens(2).Split(":"c)

                            ' Create a DateTime instance
                            Dim utcDateTime As New DateTime(Convert.ToInt32(dateParts(0)) + 2000, Convert.ToInt32(dateParts(1)), Convert.ToInt32(dateParts(2)), Convert.ToInt32(timeParts(0)), Convert.ToInt32(timeParts(1)), Convert.ToInt32(timeParts(2)))

                            ' Convert received (UTC) DateTime value to the local timezone
                            result = utcDateTime '.ToLocalTime()

                            ' Response successfully received; exit the loop

                            Return result
                        End If

                    End If

                End If
                ' Ignore exception and try the next server
            Catch
            End Try
        Next
        Return result
    End Function

End Class
الرد }}}
تم الشكر بواسطة: hoob computer
#2
سلام عليكم Big Grin
تم تعديل الموضوع لكي تظهر الاكواد بشكل أجمل Blush

كل عام وانت بخير
اللَّهُمَّ أَنْتَ رَبِّي ، لا إِلَه إِلاَّ أَنْتَ خَلَقْتَني وأَنَا عَبْدُكَ ، وأَنَا على عهْدِكَ ووعْدِكَ ما اسْتَطَعْتُ ، أَعُوذُ بِكَ مِنْ شَرِّ ما صنَعْتُ ، أَبوءُ لَكَ بِنِعْمتِكَ علَيَ ، وأَبُوءُ بذَنْبي فَاغْفِرْ لي ، فَإِنَّهُ لا يغْفِرُ الذُّنُوبِ إِلاَّ أَنْتَ .
الرد }}}
تم الشكر بواسطة: ali.alfoly
#3
السلام عليكم ورحمة الله وبركاته


هذا كود معرفة الوقت والتاريخ من مواقع لديها خدمة توفير التوقيت لمن يستعلم عنها.

يعتمد الكود على مجموعة من 10 سيرفرات يختار منه 5 بشكل عشوائي ويمر عليها بحلقة For فالذي عليه الدور قد أجاب بتنتهي الحلقة فيخرج معيدا لنا النتيجة يتوقيت جرينتش GMT ثم نقوم بوضع ToLocalTime لتحويل النتيجة لفارق التوقيت الخاص بنا.


أرجو أن أكون قد أفدت.


السلام عليكم ورحمة الله وبركاته
الرد }}}
#4
السلام عليكم


شرح كل سطر من هذا الكود يحتاج درس كامل

انا بقولك فكرة الكود وعلى اي اساس قام بكتابته

قال صاحب الكود انه اعتمد على موقع http://tf.nist.gov/tf-cgi/servers.cgi

بعد الدخول عليه وجدت هذا السطر ، وهو اللبنة الاساسية لهذا الموضوع

إقتباس :Users of the NIST "DAYTIME" protocol on tcp port 13

يقول لجلب الDateTime قم بالاتصال بأحد السيرفرات حقتهم على البروتوكول Tcp والبورت 13

..

قام صاحبنا بااضافة 10 سيرفرات في الكود (ربما اذا واحد ماعطاه الوقت يستعمل الثاني)

لأن في الموقع مذكورة حالة السيرفر واحيانا يكون Busy فيتأخر الرد (Response)

الرد هو عبارة عن الوقت الي المفروض يعطيك اياه

..

فقام بأخذ 5 سيرفرات عشوائية (لم افهم ليش سوا هالحركة) ليش مااخذ ال10 السيرفرات كاملة

قام بعمل foreach لهذه ال5 السيرفرات .. لو فشل احدهم في الرد ستأخذ foreach السيرفر الي بعده

هذا الكود الرئيسي لجلب الوقت من السيرفر
PHP كود :
' Connect to the server (at port 13) and get the response
                Dim serverResponse As String = String.Empty
                Using reader = New IO.StreamReader(New System.Net.Sockets.TcpClient(server, 13).GetStream())
                    serverResponse = reader.ReadToEnd()
                End Using 

الان شوف الكود الي فوق وقارنه بالكلام المكتوب في الموقع

إقتباس :Users of the NIST "DAYTIME" protocol on tcp port 13


مثل ماتشوف .. صاحبنا طبق الكلام اعلاه في الكود اعلاه

--

بقية الكود اعتقد واضح جدا .. قام ببعض العمليات على ال(Response) الذي قام الموقع

بإعطاه اياه في الكود اعلاه ،، وانت محترف في التعامل مع النصوص . فاعتقد ان الموضوع

مفهوم .

--

في النهاية قام بتحويل الوقت ليتناسب مع منطقتك

PHP كود :
utcDateTime.ToLocalTime 

وهكذا ستحصل على التوقيت المناسب والصحيح



فعلا كود رائع Cool


(18-10-13, 08:25 PM)@@أبورائد@@ كتب : السلام عليكم ورحمة الله وبركاته


هذا كود معرفة الوقت والتاريخ من مواقع لديها خدمة توفير التوقيت لمن يستعلم عنها.

يعتمد الكود على مجموعة من 10 سيرفرات يختار منه 5 بشكل عشوائي ويمر عليها بحلقة For فالذي عليه الدور قد أجاب بتنتهي الحلقة فيخرج معيدا لنا النتيجة يتوقيت جرينتش GMT ثم نقوم بوضع ToLocalTime لتحويل النتيجة لفارق التوقيت الخاص بنا.


أرجو أن أكون قد أفدت.


السلام عليكم ورحمة الله وبركاته


اسف اخي ابو رائد ماشفت ردك
الرد }}}
#5
(18-10-13, 04:13 PM)Omar Mekkawy كتب : سلام عليكم Big Grin
تم تعديل الموضوع لكي تظهر الاكواد بشكل أجمل Blush

كل عام وانت بخير

وعليكم السلام ورحمة الله
جزاك الله خيرا

(18-10-13, 08:25 PM)@@أبورائد@@ كتب : السلام عليكم ورحمة الله وبركاته


هذا كود معرفة الوقت والتاريخ من مواقع لديها خدمة توفير التوقيت لمن يستعلم عنها.

يعتمد الكود على مجموعة من 10 سيرفرات يختار منه 5 بشكل عشوائي ويمر عليها بحلقة For فالذي عليه الدور قد أجاب بتنتهي الحلقة فيخرج معيدا لنا النتيجة يتوقيت جرينتش GMT ثم نقوم بوضع ToLocalTime لتحويل النتيجة لفارق التوقيت الخاص بنا.


أرجو أن أكون قد أفدت.


السلام عليكم ورحمة الله وبركاته


وعليكم السلام ورحمة الله
جزاك الله خيرا اخى الحبيب ابو رائد
اسئل الله ان يحفظك ويبارك فيك


(18-10-13, 08:29 PM)الشاكي لله كتب :
السلام عليكم


شرح كل سطر من هذا الكود يحتاج درس كامل

انا بقولك فكرة الكود وعلى اي اساس قام بكتابته

قال صاحب الكود انه اعتمد على موقع http://tf.nist.gov/tf-cgi/servers.cgi

بعد الدخول عليه وجدت هذا السطر ، وهو اللبنة الاساسية لهذا الموضوع

إقتباس :Users of the NIST "DAYTIME" protocol on tcp port 13

يقول لجلب الDateTime قم بالاتصال بأحد السيرفرات حقتهم على البروتوكول Tcp والبورت 13

..

قام صاحبنا بااضافة 10 سيرفرات في الكود (ربما اذا واحد ماعطاه الوقت يستعمل الثاني)

لأن في الموقع مذكورة حالة السيرفر واحيانا يكون Busy فيتأخر الرد (Response)

الرد هو عبارة عن الوقت الي المفروض يعطيك اياه

..

فقام بأخذ 5 سيرفرات عشوائية (لم افهم ليش سوا هالحركة) ليش مااخذ ال10 السيرفرات كاملة

قام بعمل foreach لهذه ال5 السيرفرات .. لو فشل احدهم في الرد ستأخذ foreach السيرفر الي بعده

هذا الكود الرئيسي لجلب الوقت من السيرفر
PHP كود :
' Connect to the server (at port 13) and get the response
                Dim serverResponse As String = String.Empty
                Using reader = New IO.StreamReader(New System.Net.Sockets.TcpClient(server, 13).GetStream())
                    serverResponse = reader.ReadToEnd()
                End Using 

الان شوف الكود الي فوق وقارنه بالكلام المكتوب في الموقع

إقتباس :Users of the NIST "DAYTIME" protocol on tcp port 13


مثل ماتشوف .. صاحبنا طبق الكلام اعلاه في الكود اعلاه

--

بقية الكود اعتقد واضح جدا .. قام ببعض العمليات على ال(Response) الذي قام الموقع

بإعطاه اياه في الكود اعلاه ،، وانت محترف في التعامل مع النصوص . فاعتقد ان الموضوع

مفهوم .

--

في النهاية قام بتحويل الوقت ليتناسب مع منطقتك

PHP كود :
utcDateTime.ToLocalTime 

وهكذا ستحصل على التوقيت المناسب والصحيح



فعلا كود رائع Cool


(18-10-13, 08:25 PM)@@أبورائد@@ كتب : السلام عليكم ورحمة الله وبركاته


هذا كود معرفة الوقت والتاريخ من مواقع لديها خدمة توفير التوقيت لمن يستعلم عنها.

يعتمد الكود على مجموعة من 10 سيرفرات يختار منه 5 بشكل عشوائي ويمر عليها بحلقة For فالذي عليه الدور قد أجاب بتنتهي الحلقة فيخرج معيدا لنا النتيجة يتوقيت جرينتش GMT ثم نقوم بوضع ToLocalTime لتحويل النتيجة لفارق التوقيت الخاص بنا.


أرجو أن أكون قد أفدت.


السلام عليكم ورحمة الله وبركاته


اسف اخي ابو رائد ماشفت ردك

جزاك الله خيرا أخي وحبيبي الشاكي لله
أسئل الله تعالى أن يجزيك خيرا
ويجمعنا فى جنات النعيم
شرح وافى كافي فعلا أبدعت يا بطل
الرد }}}
تم الشكر بواسطة: الشاكي لله
#6
شرح رائع ... بارك الله فيكم....

و الكود رائع أيضاً Smile



تحياتي
الرد }}}
تم الشكر بواسطة:


المواضيع المحتمل أن تكون متشابهة .
الموضوع : الكاتب الردود : المشاهدات : آخر رد
  ممكن حل المشكلة فى الكود التالي - من مشاركة استاذنا القدير / عبدالله الدوسري new_programer 4 169 02-03-24, 07:36 PM
آخر رد: new_programer
  ماهو حل هذا الخطأ في الكود melad2002 7 264 25-02-24, 12:25 AM
آخر رد: justforit
  كيفية انشاء سكريبت لقاعدة بيانات من خلال الكود heem1986 1 194 20-02-24, 12:00 AM
آخر رد: Kamil
  [VB.NET] أرغب فى استخدام هذا الكود بالتحديد على الإصدار 10 AmeenRashed 3 206 19-01-24, 12:42 PM
آخر رد: Taha Okla
  اريد طباعة الباركود المحدد فقط مع الكمية new_programer 5 434 09-01-24, 08:40 PM
آخر رد: new_programer
  اريد مساعدة في العملية الحسابية melad2002 3 406 29-12-23, 09:10 PM
آخر رد: melad2002
  [VB.NET] ما الخطأ فى هذا الكود - كود البحث المتعدد Ashraf Elafify 7 464 27-12-23, 10:50 PM
آخر رد: Ashraf Elafify
  [كود] اريد كود إرسال البيانات من الفيجوال بيسك إلىPDF issamsaidd 10 5,829 25-12-23, 06:30 PM
آخر رد: الحزين اليماني
  [VB.NET] اريد تعديل في الكود عند طباعة DGV abu_hisham7 1 431 03-12-23, 02:40 AM
آخر رد: abu_hisham7
  [سؤال] اريد تغيير اسم حقل ضمن جدول بقاعدة بيانات اكسس mh66 1 360 08-11-23, 08:16 AM
آخر رد: justforit

التنقل السريع :


يقوم بقرائة الموضوع: بالاضافة الى ( 1 ) ضيف كريم