Multiserver (TCP) mit Basic 4 Android nutzen

  • VB.NET

Es gibt 12 Antworten in diesem Thema. Der letzte Beitrag () ist von Fusseldieb.

    Multiserver (TCP) mit Basic 4 Android nutzen

    Hallo Zusammen,

    Ich habe eine Programm das mit dem Multiserver(tcp) vom Sourcecode Thread Kommuniziert.
    Nun würde ich gerne auch "Nachrichten" von einem Android-Gerät versenden.

    Leider bin ich bis jetzt noch nicht auf eine Lösung gekommen da immer weider Fehler herausgegeben wird.
    Bez. der Text nicht ankommt.

    Hat hier jemand Ahnung :)

    Mein zurzeitiger code in b4a

    Spoiler anzeigen
    Sub Activity_Create(FirstTime As Boolean)
    Activity.LoadLayout("praes1")
    Socket1.Initialize("Socket1")
    Socket1.Connect("192.168.61.52",8052,20000)
    End Sub

    Sub Socket1_Connected (Successful As Boolean)
    If Successful = False Then
    Msgbox(LastException.Message, "Error connecting")
    Return
    End If
    End Sub

    Sub Button1_Click
    Dim buffer() As Byte
    buffer = EditText1.Text.GetBytes
    AStreams.Write(buffer)
    EditText1.SelectAll
    End Sub
    Hallo Zusammen,
    Hab es jetzt selber auf die Reihe gekriegt xD...

    Spoiler anzeigen
    Sub Process_Globals
    'These global variables will be declared once when the application starts.
    'These variables can be accessed from all modules.
    Dim Socket1 As Socket
    End Sub
    Sub Globals
    Dim Chat As ListView
    Dim sendtext As EditText
    Dim loginname As EditText

    Dim tw As TextWriter
    Dim twinput As TextWriter

    End Sub
    Sub Activity_Create(FirstTime As Boolean)
    Activity.LoadLayout("praes1")

    Socket1.Initialize("Socket1")
    Socket1.Connect("192.168.61.52" , 8052, 20000)

    End Sub
    Sub Socket1_Connected (Successful As Boolean)
    If Successful = False Then
    Msgbox(LastException.Message, "Error connecting")
    Return
    End If
    Dim StringIn As String
    tw.Initialize(Socket1.OutputStream)
    tw.WriteLine("Verbunden")
    tw.Flush

    End Sub

    Sub Button1_Click
    tw.WriteLine("hallo")
    tw.Flush
    'Socket1.Close
    End Sub


    Ein kleines Problem habe ich noch, und zwar würde ich auch gerne sachen empfangen :)

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „schnibli“ ()

    Jah habe ich, ich muss aber in meinem Archiv schauen ob ich dies Gespeichert habe.
    Ich habe mir nun einen Raspberry pi gekauft und da läuft nun der Server (python).
    Aber ich werde demnächst mal kurz nachschauen ob ich das Projekt mit dem VB.net und dem Android (Basic4Android) gespeichert habe.
    Hallo,

    Giebt es da bei Android nicht sowas wie ein TCP-Stack?? Aufjedenfall wird so eit ich weiß bei Android ales in Java Programmiert und TCP ist TCP, d.h. mann muss nur die Verbidnung inplementieren indem man dass Java Predant von tcpClient verwendet.

    LG, Herbrich
    @schnibli
    du musst dir basic4app kaufen als vollversion und ert dann kannst du die ganzen updates und libs benutzen. da gibt es eine lib für tcp. wenn du glück hast hab ich meinen tcpchat noch. müsste allerdings mal nachkucken. (sieht ehr schlecht aus)

    du musst dir aber vorher eine lib dafür runterladen ansonsten geht das nicht!
    Hallo, seid wann muss man sich für Android was kaufen, eine Javainstallation und die Android IDE die es kostenlos irgendwo bei den Google Delveopers (Google Endwicklerseiten) giebt.

    LG, Herbrich
    @zn-gong
    basic4app ist eine ide genauso wie visual studio und b4app kosstet eben was! man kann sie auch (so war es mal) kostenlos benutzen aber dann nur eingeschränkt und ohne erweiterungen. für eine tcp verbindung braucht man aber erweiterungen.
    zumindest war es immer so
    mit basic4app kann man androidapps (mit visual basic (etwas geändert und angepasst)) erstellen und den kompletten googlemarket benutzen.
    Echt geil. Dass wusste ich ja noch nicht, kann man sich die IDE irgendwo herunterladen??

    LG, Herbrich
    Wieso nicht einfach die App in Java programmieren? Es geht nicht darum zu versuchen, überall seine lieblings Sprache einzusetzen, sondern die, die am besten zur der aktuellen Aufgabe passt, und das ist hier eben Java.
    Hallo,

    Übersetzt nicht jede andere IDE den surcecoode für android ja auch in Java weil Java doch defakto Stnadart für Android ist. Wobei da sicherlich auf C / C++ gehen müsste was dann ja eig Nativ auf der SOA-CPU laufen würde.

    LG, Herbrich
    Habe es schon rausgekriegt, wie man lesen und schreiben kann ;)
    Nach langen versuchen xD

    Basic4Android Code:

    Quellcode

    1. #Region Project Attributes
    2. #ApplicationLabel: B4A Example
    3. #VersionCode: 1
    4. #VersionName:
    5. 'SupportedOrientations possible values: unspecified, landscape or portrait.
    6. #SupportedOrientations: unspecified
    7. #CanInstallToExternalStorage: False
    8. #End Region
    9. #Region Activity Attributes
    10. #FullScreen: False
    11. #IncludeTitle: True
    12. #End Region
    13. Sub process_globals
    14. Dim AStreams As AsyncStreams
    15. Dim Socket1 As Socket
    16. End Sub
    17. Sub Globals
    18. Private Label1 As Label
    19. End Sub
    20. Sub Activity_Create(FirstTime As Boolean)
    21. If FirstTime Then
    22. Socket1.Initialize("Socket1")
    23. Socket1.Connect("192.168.2.184",6565,5000)
    24. End If
    25. Activity.LoadLayout("Layout1")
    26. ' Im Layout hat es einen Button und Ein Label...
    27. End Sub
    28. Sub Socket1_Connected(Connected As Boolean)As Boolean
    29. If Connected = True Then
    30. AStreams.Initialize(Socket1.InputStream,Socket1.OutputStream,"Astreams")
    31. Else
    32. ToastMessageShow("Server not available",True)
    33. End If
    34. End Sub
    35. Sub AStreams_NewData (Buffer() As Byte)
    36. Dim msg As String
    37. msg = BytesToString(Buffer, 0, Buffer.Length, "UTF8")
    38. Label1.Text = msg.SubString2(0, msg.Length-1)
    39. End Sub
    40. Sub Button1_Click
    41. Dim testString As String
    42. testString="Blablablablablabla" & CRLF
    43. Dim buffer() As Byte
    44. buffer=testString.GetBytes("UTF8")
    45. AStreams.Write(buffer)
    46. End Sub


    Am PC sieht es folgedermasen aus (VB.Net) :

    VB.NET-Quellcode

    1. Imports System.Net.Sockets
    2. Imports System.IO
    3. Imports System.Net
    4. Public Class Form1
    5. Dim stream As NetworkStream
    6. Dim streamw As StreamWriter
    7. Dim streamr As StreamReader
    8. Dim Server As TcpListener
    9. Dim client As New TcpClient
    10. Dim ipendpoint As IPEndPoint = New IPEndPoint(IPAddress.Any, 6565)
    11. Dim mainthread As Threading.Thread
    12. Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
    13. mainthread = New Threading.Thread(AddressOf mainserver)
    14. mainthread.Start()
    15. End Sub
    16. Sub mainserver()
    17. Try
    18. Server = New TcpListener(ipendpoint)
    19. Server.Start()
    20. client = Server.AcceptTcpClient
    21. stream = client.GetStream
    22. streamr = New StreamReader(stream)
    23. streamw = New StreamWriter(stream)
    24. While True
    25. If streamr.ReadLine.Length > 0 Then MsgBox(streamr.ReadLine)
    26. stream.Flush()
    27. End While
    28. Catch
    29. End Try
    30. End Sub
    31. Private Sub Form1_Close(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.FormClosing
    32. Server.Stop()
    33. Try
    34. mainthread.Abort()
    35. Catch
    36. End Try
    37. End Sub
    38. Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
    39. Try
    40. streamw.WriteLine("Blablalblablablabla")
    41. streamw.Flush()
    42. Catch ex As Exception
    43. MsgBox("Not connected!")
    44. End Try
    45. End Sub
    46. End Class


    Ich hoffe, ich konnte vielen damit helfen ;)

    mfG Valentino