Prendendo spunto da un codice suggeritomi (da StarDust) testo la risposta di alcuni IP Pubblici
Ora però mi sta capitando che solo il primo risponde (qualunque io scelga come primo da testare). I successivi no.
Non riesco a capire cosa diavolo può essere (prima funzionava). Ho fatto molte prove ma non riesco a capire perche solo la prima riga funziona e le altre restituiscono False al test.
Allego pezzo "incirminato" e un progettino con il minimo indispensabile per riprodurre il problema nel caso servisse
Lanciandolo si ottiene
esito test 1 true
esito test 2 false
esito test 3 false
esito test 4 false
'remmando il primo wait for
esito test 2 true
esito test 3 false
esito test 4 false
Ora però mi sta capitando che solo il primo risponde (qualunque io scelga come primo da testare). I successivi no.
Non riesco a capire cosa diavolo può essere (prima funzionava). Ho fatto molte prove ma non riesco a capire perche solo la prima riga funziona e le altre restituiscono False al test.
Allego pezzo "incirminato" e un progettino con il minimo indispensabile per riprodurre il problema nel caso servisse
B4X:
Sub Class_Globals
Private Root As B4XView
Private xui As XUI
Dim oConn As clsConnessione
End Sub
Public Sub Initialize
End Sub
Private Sub B4XPage_Created (Root1 As B4XView)
Root = Root1
'Root.LoadLayout("MainPage")
oConn.Initialize
End Sub
Private Sub Button1_Click
' Risponde 'True' solo il primo test. Se remmo il primo, risponde true solo il secondo test.... e cosi via
wait for (oConn.ConnessioneSocket("http://185.104.124.17")) complete (EsitoRisp As Boolean)
Log("esito test 1" & " " & EsitoRisp)
wait for (oConn.ConnessioneSocket("https://195.60.191.158")) complete (EsitoRisp As Boolean)
Log("esito test 2" & " " & EsitoRisp)
wait for (oConn.ConnessioneSocket("http://195.60.191.193:8080")) complete (EsitoRisp As Boolean)
Log("esito test 3" & " " & EsitoRisp)
wait for (oConn.ConnessioneSocket("http://285.104.124.17")) complete (EsitoRisp As Boolean)
Log("esito test 4" & " " & EsitoRisp)
End Sub
'Nella classe clsConnessione
Public Sub ConnessioneSocket(IndirizzoCompleto As String)As ResumableSub
Ricava_IP_Porta (IndirizzoCompleto)
Try
'Metodo Connect del socket mSocket; viene chiamato con IP, mPorta e TimeOut
'Prova a connettersi ad un dato indirizzo. La connessione avviene in background.
'Quando la connessione è terminata o è fallita, viene scatenato l'evento "Connected"
mSocket.Connect(mSoloIP,mPorta,3000)
wait for mSocket_Connected (Successful As Boolean)
Return Successful
Catch
Error=LastException.Message
Return False
End Try
End Sub
esito test 1 true
esito test 2 false
esito test 3 false
esito test 4 false
'remmando il primo wait for
esito test 2 true
esito test 3 false
esito test 4 false