Winsock in B4A

  • Antworten:11
Frank Neumann
  • Forum-Beiträge: 178

23.11.2012, 18:37:35 via Website

Hallo,

weis einer wie ich ein Komando in B4A senden kann?
Beispiel in VB6 wäre so: Winsock1.SendData "BAG"

wie kann ich das in B4A realisieren?

danke im voraus
gruß
Frank

grüße aus Mittelfranken

Antworten
Frank Neumann
  • Forum-Beiträge: 178

24.11.2012, 00:34:40 via App

keiner ne idee?

grüße aus Mittelfranken

Antworten
Carsten M.
  • Forum-Beiträge: 33.204

24.11.2012, 00:48:11 via App

Was meinst Du mit "Kommando senden"?

Was willst Du wohin senden?

Herzliche Grüße

Carsten

Ich komm' mir langsam vor wie jemand, der ich bin // #cäthe

Antworten
Frank Neumann
  • Forum-Beiträge: 178

24.11.2012, 05:17:41 via Website

Hi Carsten,

ich dneke du bist auch der einzige, der mir helfen kann :-)

also, ich habe auf der Server seite unter Windows eine Software laufen, dorthin kann ich mich über mein Android wie folgt verbinden

1Sub Process_Globals
2Dim Socket1 As Socket
3End Sub
4
5Sub Activity_Create(FirstTime As Boolean)
6Activity.LoadLayout("seite01")
7Socket1.Initialize("Socket1")
8End Sub
9
10Sub Button1_Click
11Socket1.Connect("192.168.178.178" , 2011, 2000)
12End Sub

soweit alles in Ordnung.
und jetzt muss ich noch strings an den Server senden.

Ich dachte mir, ich könnte mit dem Eigenschaft
1OutputStream
etwas anfangen abe leider ohne Erfolg.

ich hoffe ich konnte mein Problem erklären, so das jeder es verstehen kann.

Gruß
Frank

grüße aus Mittelfranken

Antworten
Carsten M.
  • Forum-Beiträge: 33.204

24.11.2012, 09:32:20 via App

Nee, keine Ahnung...

Stelle solche Fragen am besten im Basic4Android Forum auf http://www.basic4ppc.com

Herzliche Grüße

Carsten

Ich komm' mir langsam vor wie jemand, der ich bin // #cäthe

Antworten
Frank Neumann
  • Forum-Beiträge: 178

25.11.2012, 04:27:53 via Website

Hallo Zusammen,

ich habe es gelöst danke für alle die mir helfen wollten bzw geholfen haben.

gruß
frank

grüße aus Mittelfranken

Antworten
Carsten M.
  • Forum-Beiträge: 33.204

25.11.2012, 07:18:32 via App

Hallo Frank,

was war denn die Lösung?

Herzliche Grüße

Carsten

Ich komm' mir langsam vor wie jemand, der ich bin // #cäthe

Antworten
Frank Neumann
  • Forum-Beiträge: 178

27.11.2012, 02:38:42 via App

Achso, das was ich dir gesendet habe.

grüße aus Mittelfranken

Antworten
Frank Neumann
  • Forum-Beiträge: 178

01.12.2012, 19:15:57 via Website

Hallo,

Ich kann mein App mir dem PC verbinden und von App aus an mein PC Daten senden, so das ich diese Daten dann am PC auswerten kann.

Meine Frage ist, ich will das jetzt gegenseitig kommuniziert wird und was ich da auf der App Seite beachten muss.


1Sub Process_Globals
2 Dim Socket1 As Socket
3 Dim Timer1 As Timer <--- ist dazu gekommen
4 Dim InputStream1 As InputStream <--- ist dazu gekommen
5 Dim OutputStream1 As OutputStream
6End Sub


ich denkemal das braucht ich nicht, da bereits die Verbindung aktiv ist. oder?
1Sub ServerSocket1_NewConnection (Successful As Boolean, NewSocket As Socket)
2 If Successful Then
3 Socket1 = NewSocket
4 Timer1.Enabled = True
5 InputStream1 = Socket1.InputStream
6 OutputStream1 = Socket1.OutputStream
7 ToastMessageShow("Connected", True)
8 Else
9 Msgbox(LastException.Message, "Error connecting")
10 End If
11 ServerSocket1.Listen 'Continue listening to new incoming connections
12End Sub

oder reicht, wenn ich nur das mache?
1Sub verbinden_Click
2Socket1.Connect("192.168.178.2" , 2011, 2000)
3End Sub
4
5Sub Socket1_Connected (Successful As Boolean)
6
7If Successful=True Then
8 OutputStream1 = Socket1.OutputStream
9 InputStream1 = Socket1.InputStream
10 Timer1.Enabled = True
11 RemoteWrite("ADR")
12 Activity.Finish
13 StartActivity("seite0101")
14
15Else
16 ToastMessageShow("Keine verbindung",False)
17 Socket1.Close
18End If
19
20End Sub

grüße aus Mittelfranken

Antworten
Carsten M.
  • Forum-Beiträge: 33.204

01.12.2012, 19:22:45 via Website

Ehrlich gesagt verstehe ich die Frage schon nicht...

Herzliche Grüße

Carsten

Ich komm' mir langsam vor wie jemand, der ich bin // #cäthe

Antworten
Frank Neumann
  • Forum-Beiträge: 178

01.12.2012, 20:53:54 via Website

:-)

Also, ich habe einseitige Kommunikation. d.h. App baut die Verbindung zum PC auf und sendet Komandos, so das der PC es empfängt und auswertet.

Jetzt möchte ich den Spieß umdrehen d.h. der PC soll komandos senden und der App auswerten.

Die Frage ist, da bereits schon die Verbindung steht, aufgrund folgender code, muss doch möglich sein, ohne das ich den Smartphone als Server initialisiere und zum Socket.Listen bringe, beidseitiges datenaustausch zu realisieren.

1Sub verbinden_Click
2Socket1.Connect("192.168.178.2" , 2011, 2000)
3End Sub
4
5Sub Socket1_Connected (Successful As Boolean)
6
7If Successful=True Then
8 OutputStream1 = Socket1.OutputStream
9 InputStream1 = Socket1.InputStream
10 Timer1.Enabled = True
11 RemoteWrite("ADR")
12 Activity.Finish
13 StartActivity("seite0101")
14
15Else
16 ToastMessageShow("Keine verbindung",False)
17 Socket1.Close
18End If
19
20End Sub

Ich weis nicht, wie ich daten mit dem Smartphone empfangen kann. bzw, wie ich sie auswerte

konnte ich jetzt erklären :-)

gruß
frank

grüße aus Mittelfranken

Antworten
Klaus T.
  • Forum-Beiträge: 8.183

01.12.2012, 21:21:25 via App

Ich mache sowas zwar nicht in Basic, aber in C/C++ bzw Java (aber nicht Android). Sicher ist das möglich, über eine vorhandene Socket-Verbindung bidirektional zu kommunizieren. Du musst dir dann hält ein Protokoll überlegen, in welcher Reihenfolge wer was sendet bzw. empfängt. Wie das unidirektional funktioniert, müsstest du ja im Code ja drin haben, also weißt du wie es funktioniert.
Falls das natürlich asynchron bidirektional laufen soll, dann potenziert sich der Aufwand.

B)

if all else fails, read the instructions.

Antworten