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

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


arna1385

سوال

سلام به همگی

قطعه ای از برنامه VB.NET دارم که میخواهم تبدیل کنم به B4A اگر کسی میتواند کمک کند

آدرس برقراری ارتباط با NtripCaster و NtripPort به سوکت ارسال شده و سپس نام کاربری و کلمه عبور ارسال می شود و منتظر پاسخ سرور می ماند

                sckt = New Net.Sockets.Socket(Net.Sockets.AddressFamily.InterNetwork, Net.Sockets.SocketType.Stream, Net.Sockets.ProtocolType.Tcp)
                Try
                    'sckt.Connect(New Net.IPEndPoint(NTRIPCaster, NTRIPPort))
                    sckt.Connect(NTRIPCaster, NTRIPPort)
                Catch ex As Exception
                    NTRIPUpdateUIThread(100, "Server did not respond.", Nothing)
                    NTRIPThread.Abort()
                End Try


                NTRIPUpdateUIThread(1, "", Nothing) 'Connected

                'Build request message
                Dim msg As String = "GET /" & NTRIPMountPoint & " HTTP/1.0" & vbCr & vbLf
                msg += "User-Agent: "My message" & vbCr & vbLf
                msg += "Accept: */*" & vbCr & vbLf & "Connection: close" & vbCr & vbLf
                If NTRIPUsername.Length > 0 Then
                    Dim auth As String = ToBase64(NTRIPUsername & ":" & NTRIPPassword)
                    msg += "Authorization: Basic " & auth & vbCr & vbLf
                End If
                msg += vbCr & vbLf

                'Send request
                Dim data As Byte() = System.Text.Encoding.ASCII.GetBytes(msg)
                sckt.Send(data)
                Threading.Thread.Sleep(100)

                'Wait for response

                Dim responseData As String 

                Try
                    For i = 0 To 300 'Wait 30 seconds for a response
                        Threading.Thread.Sleep(100)   
                        Dim DataLength As Integer = sckt.Available   
                        If DataLength > 0 Then   
                                    Dim InBytes(DataLength - 1) As Byte       
                            sckt.Receive(InBytes, DataLength, Net.Sockets.SocketFlags.None)      
                            responseData = System.Text.Encoding.ASCII.GetString(InBytes, 0, InBytes.Length)      
                        End If   
                        If responseData.Length > 0 Then Exit For   
                    Next
               
                End Try

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

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

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

سلام

در ۱۴۰۰/۹/۱۹ در 00:27، rasool.g گفته است:

سلام. اینجور ک متوجه شدم شما یک درخواست http میفرستید

برای این کار از کتابخانه داخلی okhttputils2 و httpJob میتونید استفاده کنید

Dim j As HttpJob
j.Initialize("", Me)
j.Download("https://www.google.com")
Wait For (j) JobDone(j As HttpJob)
If j.Success Then
   Log(j.GetString)
End If
j.Release

متد ها و امکانات دیگه ای هم داره

کتابخانه network هم برای سوکت هستش

سلام و تشکر
از کتابخانه network استفاده کردم و مشکلم حل شد ولی باید توجه داشت در ساختن پیام برای ارسال با AsyncStreams در B4A عبارت CRLF تنها کاراکتر 10 را ارسال می کند و برای ارسال کاراکتر 13 و 10 توامان باید به کاراکتر CRLF کاراکتر 13 را اضافه کرد

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

سلام. اینجور ک متوجه شدم شما یک درخواست http میفرستید

برای این کار از کتابخانه داخلی okhttputils2 و httpJob میتونید استفاده کنید

Dim j As HttpJob
j.Initialize("", Me)
j.Download("https://www.google.com")
Wait For (j) JobDone(j As HttpJob)
If j.Success Then
   Log(j.GetString)
End If
j.Release

متد ها و امکانات دیگه ای هم داره

کتابخانه network هم برای سوکت هستش

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

در ۱۴۰۰/۹/۲۱ در ۱۰:۳۹، arna۱۳۸۵ گفته است:

سلام

سلام و تشکر
از کتابخانه network استفاده کردم و مشکلم حل شد ولی باید توجه داشت در ساختن پیام برای ارسال با AsyncStreams در B4A عبارت CRLF تنها کاراکتر 10 را ارسال می کند و برای ارسال کاراکتر 13 و 10 توامان باید به کاراکتر CRLF کاراکتر 13 را اضافه کرد

دقیقا 👌

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

البته این کتابخونه هم هست "OkHttp" در کنار اون و نتورک. اگه پورت رو به ادرس اضافه کنید فکر کنم، شخصی سازی یا ساخت هدر و بدنه درخواست و کار های دیگه رو با این کتابخونه هم میتونید انجام بدین

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

بایگانی شده

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

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

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