تقييم الموضوع :
  • 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



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


المواضيع المحتمل أن تكون متشابهة .
الموضوع : الكاتب الردود : المشاهدات : آخر رد
  [VB.NET] برجاء المساعدة فى تعديل هذا الكود (htmlDocument.DocumentNode.SelectNodes) الماجيك مسعد 9 84 منذ 1 ساعه مضت
آخر رد: سعود
  [VB.NET] اريد طريقة لتشفير اكواد الفيجوال بيسك طارق سليمان 0 32 24-05-17, 05:14 PM
آخر رد: طارق سليمان
  [VB.NET] كيف اوضع ProgressBar في هذا الكود e-coder 0 50 23-05-17, 07:43 PM
آخر رد: e-coder
  [VB.NET] احتاج تعديل الكود يخص تشغيل Button حسب user domin hglogtd 4 106 22-05-17, 09:25 AM
آخر رد: hglogtd
  [VB.NET] اريد حل لموضع تايمر ضمن الاكواد تالية e-coder 5 116 21-05-17, 09:38 PM
آخر رد: Amir_alzubidy
  [VB.NET] اريد وضع مؤقت بدون تايمر داخل هذا الكود + المشروع بالكامل e-coder 0 48 19-05-17, 04:09 PM
آخر رد: e-coder
  [VB.NET] كيف اضع وقت في هذا الكود e-coder 4 130 18-05-17, 08:07 AM
آخر رد: e-coder
  اين الخطا في هذا الكود rabeh.ram 18 466 16-05-17, 10:48 PM
آخر رد: rabeh.ram
  [VB.NET] اريد كود حفظ العمل على البرنامج ؟؟ عامر الجبوري 4 93 16-05-17, 12:54 PM
آخر رد: عامر الجبوري
  [كود] طلب الكود للتاريخ الميلادي كتابياُ باسم الشهر الميلادي . محمد مسافر 2 80 11-05-17, 12:42 AM
آخر رد: محمد مسافر

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


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