German Chatverbindung aufbauen

diversity

Member
Licensed User
Longtime User
Finished

Code scheint soweit zu Funkionieren, achtet nur darauf den Port eventuell freizugeben. Falls fragen dazu sein sollten steh ich hier im Forum zur verfügung.
Der Code ist nich allein von mir, ich habe ihn nur verändert.
Durch die SendCommand Funktion könnt ihr sehr leicht String übertragen.
Kommentare im Code habe ich mir erspart, da er sehr leicht zu verstehen ist.


Gruß Diversity



Hier der Code !


PHP:
Sub Process_Globals
   Dim CltSock As Socket
   Dim Astreams As AsyncStreams
   Dim ip As String : ip = "192.168.*.****"
   Dim port As Int : port = ****
End Sub

Sub Globals
End Sub

Sub Activity_Create(FirstTime As Boolean)
   Activity.LoadLayout("ClientForm")
   CltSock.Initialize("Client")
        CltSock.Connect(ip,port,20000)
End Sub

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

Sub Client_Connected(ConStatus As Boolean)
   If ConStatus = True Then
      Msgbox("Verbunden!","")
        Astreams.InitializePrefix(CltSock.InputStream, False, CltSock.OutputStream, "AStreams")
      SendCommand("HI")
   Else
       Msgbox(LastException.Message, "Keine Verbindung möglich")
   End If   
End Sub

Sub SendCommand(Command As String)
   Try
   If Astreams.IsInitialized = False Then Return
      Dim sNewLine As String
      sNewLine = ""
      sNewLine = Command
        Dim buffer() As Byte
        buffer = sNewLine.GetBytes("UTF8")
        Astreams.Write(buffer)
          ToastMessageShow("Erfolgreich versandt.",False)
   Catch
   ToastMessageShow("Fehler aufgetreten.", False)
   End Try
End Sub

'Buttons SendCommand(String)
Sub Button1_Click
   SendCommand("1")
End Sub

*StandartCode aus dem Forum hier (Beitrag müsst ich raussuchen) jedoch zum Teil stark verändert
 
Last edited:

froes

Member
Licensed User
Longtime User
Wie willst du dich verbinden? Bluetooth und welches ist deine Projektbasis?
Der Chat funktioniert bei mir in alle möglichen Varianten. Meistens liegt das Problem in der Zeile serial1.listen..... . Lass die einfach mal weg (auskommentieren).
Sollte du nicht weiterkommen nimm dir mal noch einmal eines der Muster zur Brust und prüfe, ob dieses geht.
 

diversity

Member
Licensed User
Longtime User
Nabend, danke erstmal für deine Antwort

ich möchte mich übers Lokale Netwerk (TCP / IP) verbinden also mithilfe der Netzwerke Lib von Erel.
Hab leider kein USB empfänger im PC und daher Netzwerk meine IP und Port stimmen alle soweit ich komm auch von nem 2ten PC drauf also liegt es nicht am Netzwerk nur nicht übers Handy.


Freu mich weiterhin über Antworten

Gruß

Diversity
 

froes

Member
Licensed User
Longtime User
Dann schick mal was du hast und ich schaue mal was ich für dich tun kann.
 

diversity

Member
Licensed User
Longtime User
konnte soebende das Problem lösen.
Ich hatte eine veraltetet Version der Network lib aber ein neues Tutorial daher gab es die eine funktion einfach nicht.

Danke trtozdem für die Zeit

Gruß

Diversity
 

normank

Member
Licensed User
Longtime User
Hallo Diversity,

mich würde deine Lösung interessieren, wär nett wenn du sie hier einstellen würdest.

norman_kopi
 

diversity

Member
Licensed User
Longtime User
Hallo normank,

ich entwickel ja selber noch mit der Lösung und versuch kleine Fehler und bugs zu lösen. Sobald ich den Code 100% fertige habe, wird dieser hier veröffentlicht, dies kann leider noch etwas dauern

Gruß

Diversity
 

normank

Member
Licensed User
Longtime User
Hallo
Diversity,
ich freu mich drauf, danke schon mal im voraus !
norman
 

diversity

Member
Licensed User
Longtime User
Ich hab nochmal den 1. Post von mir editiert, da mittlerweile ein neues Problem auftritt...

(war viel beschäftigt daher erst jetzt weiter dran gearbeitet)
 

diversity

Member
Licensed User
Longtime User
Vielen dank für deine Antwort 'DinoDieter'

dann muss der Fehler auf Seiten meines Servers liegen,
dann werd ich mich da nochmal ransetzen

Den Code kann von mir aus gerne genutz werden ist ja nicht nur von mir, daher auch keine Namensnennung nötig.
Das SendCommand habe ich eingebaut um die Bedienung einfacher zu machen.
Der Code ist nicht wirklich kommentiert, da er sehr leicht verstanden werden sollte.

Viel spaß damit

Gruß

Diversity
 

normank

Member
Licensed User
Longtime User
mein Test

Hallo Jungs,
ich habe auch mal getestet( ebenfalls mit dem Herkules Server), dabei habe ich folgenden Fehler bemerkt: "Hi" und "1" werden sauber empfangen,
aber die andere Daten-Richtung funktioniert nicht.

PHP:
Sub AStreams_NewData (Buffer() As Byte)
   ...
    
   Msgbox(msg,"") 
End Sub
Wenn man über Herkules sendet, z.B "123-123" wir die App beendet.
Der von Herkules versendete String hat nicht das Format welches Astreams.InitializePrefix erwartet (siehe Tutor.) Wird Ini wie folgt verändert funktionieren beide Daten- richtungen:
PHP:
Astreams.Initialize(CltSock.InputStream, CltSock.OutputStream, "AStreams")
Folgendes sollte ebenfalls ergänzt werden:
PHP:
Sub Activity_Pause (UserClosed As Boolean)
   CltSock.Close 
   ToastMessageShow("Verbindung getrennt ", False)
End Sub

Danke für den Tip mit dem Herkules-Terminal und danke für den Quelltext.:D
norman
 

diversity

Member
Licensed User
Longtime User
Bei mir wurde die Datenrichtung nur vom Android >> PC benötigt daher hab ich den "weggeschnitten".
Ich bin gerade dabei einen Empfänger für den PC zu programmieren hab da jedoch noch verwirrende Fehler (andere Thread von mir)

Danke für die ergänzung weiterhin viel spaß mit dem code

Gruß
Diversity
 
Top