Android Tutorial Android Network Tutorial

Status
Not open for further replies.

electro179

Active Member
Licensed User
my second problem is resolved thank you.

Still the first.

if someone have a solution or a explanation to do a receiver broadcast

I'm looking for on other website
 

electro179

Active Member
Licensed User
for information

I found the problem. It's a bug on some HTC. I tried with a samsung and no problem detected.
 

joejefferies

Member
Licensed User
Hi I am new to Android.
I am trying to connect to a PC and tried the Basic4ppc example.
With the IP as 127.0.0.1 (localhost) I get :-

No connection could be made because the target machine actively refused it 127.0.0.1:5007
But this is just a loopback.

With a real device (with the Andoid app. running) it times out:-
A connection attempt failed because the connected party did not respond after a period of time 192.168.2.5

I am able to ping this IP reliably
I have tried turning off the (Windows) firewall

Any ideas as to why it doesn't connect.

Joe
 

joejefferies

Member
Licensed User
Hi
Thanks for your reply and sorry I should have made myself clearer.
As a start to developing communications from Android to and from a windows machine, I downloaded the pair of programs in your zip file. So I am running your app on an Android device and your (b4ppc) app on the windows machine. I am using the ip address provided by the andoid but the PC app is timing out.
Joe
 

dclarkchem

Member
Licensed User
The date and time program times out on both the emulator on my computer and my android phone when I install the APK there!
 
Last edited:

Armoured

Member
Licensed User
Hi Rel,
I have changed your example because the time server you have chosen isn't available:

Sub Process_Globals
Dim Socket1 As Socket
End Sub

Sub Globals

End Sub

Sub Activity_Create(FirstTime As Boolean)
Socket1.Initialize("Socket1")
Socket1.Connect("nist1-pa.ustiming.org" , 13, 20000)
End Sub

Sub Socket1_Connected (Successful As Boolean)
If Successful = False Then
Msgbox(LastException.Message, "Error connecting")
Return
End If
Dim tr As TextReader
tr.Initialize(Socket1.InputStream)
Dim sb As StringBuilder
sb.Initialize
sb.Append(tr.ReadLine) 'read at least one line
Do While tr.Ready
sb.Append(CRLF).Append(tr.ReadLine)
Loop
Msgbox("Time received: " & CRLF & sb.ToString, "")
Socket1.Close
End Sub
The socket connection now works well but I have this exception:
LastException android.os.NetworkOnMainThreadException
and the program is stopped on this line:
sb.Append(tr.ReadLine) 'read at least one line

I have Basic4Android version 2.30 with the Network lib version 1.23
 

Armoured

Member
Licensed User
Hi Erel,
The only system to make this example working for me is to rewrite it like this:

B4X:
Sub Process_Globals
    Dim Socket1 As Socket
   Dim AStreams As AsyncStreams
End Sub

Sub Globals

End Sub 

Sub Activity_Create(FirstTime As Boolean)
    Socket1.Initialize("Socket1")
    Socket1.Connect("nist1-atl.ustiming.org" , 13, 20000)
End Sub

Sub Socket1_Connected (Successful As Boolean)
    If (Successful) Then
      AStreams.Initialize(Socket1.InputStream, Socket1.OutputStream, "AStreams")
   Else
       Msgbox(LastException.Message, "Error connecting")
      Socket1.Close
      Activity.Finish
    End If
End Sub

Sub AStreams_NewData (Buffer() As Byte)
    Dim msg As String
    msg = BytesToString(Buffer, 0, Buffer.Length, "UTF8")

    Msgbox("Time received: " & CRLF & msg, "")
    Socket1.Close
   Activity.Finish
End Sub
But, repeat, I haven't Android 4.x
 
Last edited:

gampolt

New Member
Licensed User
Basic4ppc
---------------------------
An error occurred on sub _main_app_start.
No connection could be made because the target machine actively refused it 127.0.0.1:5007

Dear Sir,
For this problem on desktop program, how can I change IP address?
I already change app_start on File Transfer.sbp
Sub App_Start
Form1.Show
Client.New1
Client.Connect("192.168.0.112", 5007)
label1.Text = "Connection established."
End Sub

But desktop program still notify same error
 

friedhelm

New Member
Licensed User
Connection to time server

Hi Armoured and Erel,

after a lot of struggling and no success with the original code of Erel under Android 4.x, I finally used the same code as Armoured proposed - now it works to my full satisfaction.

Thank you, Armoured :sign0098:.

BR, Friedhelm


Hi Erel,
The only system to make this example working for me is to rewrite it like this:

B4X:
Sub Process_Globals
    Dim Socket1 As Socket
   Dim AStreams As AsyncStreams
End Sub

Sub Globals

End Sub 

Sub Activity_Create(FirstTime As Boolean)
    Socket1.Initialize("Socket1")
    Socket1.Connect("nist1-atl.ustiming.org" , 13, 20000)
End Sub

Sub Socket1_Connected (Successful As Boolean)
    If (Successful) Then
      AStreams.Initialize(Socket1.InputStream, Socket1.OutputStream, "AStreams")
   Else
       Msgbox(LastException.Message, "Error connecting")
      Socket1.Close
      Activity.Finish
    End If
End Sub

Sub AStreams_NewData (Buffer() As Byte)
    Dim msg As String
    msg = BytesToString(Buffer, 0, Buffer.Length, "UTF8")

    Msgbox("Time received: " & CRLF & msg, "")
    Socket1.Close
   Activity.Finish
End Sub
But, repeat, I haven't Android 4.x
 
Status
Not open for further replies.
Top