Jetzt kostenlos registrieren. Mitglieder surfen ohne Werbung auf Android-Hilfe.de!
Zurück   Android-Hilfe.de > Android Developer > Android App Entwicklung

Socket-Verbindung klappt nicht

Das Thema "Socket-Verbindung klappt nicht" befindet sich unter Android App Entwicklung auf Android-Hilfe.de.


Antwort

 

Themen-Optionen Ansicht
Alt 11.01.2012, 11:26   #1 (permalink)
Neuer Benutzer

Registriert seit: 11.01.2012
Beiträge: 8
Abgegebene Danke: 3
Erhielt 0 Danke für 0 Beiträge
Standard Socket-Verbindung klappt nicht

Hallo zusammen,

ich habe jetzt meine erste App programmiert.
Ich verbinde mich damit mit einem lokalem Gerät.
Ich baue dafür eine Socketverbindung auf.
In dem Emulator klappt auch alles prima,
Ich bin vebunden und kann Befehle senden.
Jetzt habe ich die mini-app aufs Galaxy-Tab kopiert und dort funktioniert die Verbindung nicht mehr.
Galaxy-Tab ist im gleichen Netz wie mein Entwicklungsrechner.
Muss ich da auf dem Tab noch was freigeben, dass das App eine Verbindung aufbauen darf?

Code:
<uses-permission android:name="android.permission.INTERNET"></uses-permission>
Ist in der App gesetzt.

Danke für Eure Hilfe
ThomasL ist offline   Mit Zitat antworten
Alt 11.01.2012, 11:45   #2 (permalink)
Neuer Benutzer

Registriert seit: 11.01.2012
Beiträge: 8
Abgegebene Danke: 3
Erhielt 0 Danke für 0 Beiträge
Standard AW: Socket-Verbindung klappt nicht

Ich hab es gerade mal vom Smartphone getestet.
DA läuft es.
Liegt es an unterschiedlichen Androidversionen?
Beim Tab ist ja eine neuere drauf (3.xx?)
Auf dem Smartphone die 2.3
ThomasL ist offline   Mit Zitat antworten
Alt 12.01.2012, 08:32   #3 (permalink)
Neuer Benutzer

Registriert seit: 07.12.2010
Beiträge: 26
Abgegebene Danke: 2
Erhielt 2 Danke für 2 Beiträge
Standard AW: Socket-Verbindung klappt nicht

Hallo

Das Problem hatte ich auch schon. Ich habe daher eine Vermutung:
Du verwendest die Internetverbidung im Main-Thread, was Android 2.3.x noch zulässt Android 3.x aber nicht!
Das lässt sich testen, indem du dein Tablett an den Rechner anschließt und dann direkt auf dem Gerät debuggst, oder du einen neuen Emulator mit der passenden Android-Version erstellst.

Du dürftest dann eine "NetworkOnMainThreadException" bekommen.
Ein Besipiel!
Son Goku ist offline   Mit Zitat antworten
Folgender Benutzer bedankt sich bei Son Goku für diesen Beitrag:
ThomasL (12.01.2012)
Alt 12.01.2012, 08:49   #4 (permalink)
Neuer Benutzer

Registriert seit: 11.01.2012
Beiträge: 8
Abgegebene Danke: 3
Erhielt 0 Danke für 0 Beiträge
Standard AW: Socket-Verbindung klappt nicht

Danke Son Goku,

das wird es sein.
Ich stelle es heute Abend mal um.

Grüße
Thomas
ThomasL ist offline   Mit Zitat antworten
Alt 16.01.2012, 21:29   #5 (permalink)
Neuer Benutzer

Registriert seit: 11.01.2012
Beiträge: 8
Abgegebene Danke: 3
Erhielt 0 Danke für 0 Beiträge
Standard AW: Socket-Verbindung klappt nicht

Hallo zusammen,

so es lag an einer "NetworkOnMainThreadException".
Ich bekomme es aber trotzdem nicht gelöst.
Ich habe eine einfache Activtiy (UI) mit 3 Buttons.
Mit einem soll die Verbindung auf-/abgebaut werden und mit den anderen 2 kann dann ein Befehl versendet werden.
Die Verbindung in einem anderem Thread aufzubauen klappt.
Wenn ich die Connection dann aber mit runOnUiThread(new Runnable() {...
an die UIActivity übergeben will,
kommt wieder die Exception.
Ich bin Anfänger.
Wie kann ich in dem Ereignis der anderen beiden Buttons die Connection aus dem anderem Thread nutzen?
Muss ich in dem anderem Thread (mit der Connection) die Buttons anlegen und über runOnUiThread zuordnen?
Dann könnte ich in dem anderem Thread auf die Ereignisse reagieren.

Danke
Thomas
ThomasL ist offline   Mit Zitat antworten
Alt 16.01.2012, 23:01   #6 (permalink)
Neuer Benutzer

Registriert seit: 07.12.2010
Beiträge: 26
Abgegebene Danke: 2
Erhielt 2 Danke für 2 Beiträge
Standard AW: Socket-Verbindung klappt nicht

Hallo

Ich hab bisher auch noch nicht so viel damit gearbeitet. Aber ich würde Dir dennoch folgenden Aufbau empfehlen:

Speicher den Thread in einer deiner Klassenvariablen.
Code:
Thread t = new Thread(...);
Und immer wenn du einen der beiden anderen Buttons betätigst, kannst du mit "t.start()" bzw. "t.run()" - musst du testen, kann auch eine andere Methode sein (Doku) - in deinen Thread zurück kehren und die Verbindung, die du gespeichert hast wieder nutzen und ggf. auch wieder beenden.

Wenn du Erfolg hast, kannst du ja einen kurzen Schnipsel Code posten.
Son Goku ist offline   Mit Zitat antworten
Alt 17.01.2012, 07:43   #7 (permalink)
Fortgeschrittenes Mitglied

Modell: HTC Sensation

Registriert seit: 31.08.2011
Beiträge: 390
Abgegebene Danke: 25
Erhielt 59 Danke für 57 Beiträge
Standard AW: Socket-Verbindung klappt nicht

Ich würde das anders machen (ähnlich wie bei Java TCP Sockets and Swing Tutorial -> TCPChat.java)

Dein Connection-Thread liest und schreibt in einer Endlosschleife (bzw. bis z.B. Thread auf null gesetzt wird). Und für das Senden benutzt du eine String-Variable. Ist die Variable leer bzw. null, dann wird nichts gesendet, ansonsten wird der Befehl gesendet.

Sobald du nun auf deine Buttons klickst, brauchst du nur die Send-Variable entsprechend zu füllen und schon wird der Befehl übertragen. Da brauchste dann weder einen neuen Thread noch ein RunOnUI oder so ;-)
Tom299 ist offline   Mit Zitat antworten
Folgender Benutzer bedankt sich bei Tom299 für diesen Beitrag:
ThomasL (18.01.2012)
Alt 18.01.2012, 08:35   #8 (permalink)
Neuer Benutzer

Registriert seit: 11.01.2012
Beiträge: 8
Abgegebene Danke: 3
Erhielt 0 Danke für 0 Beiträge
Standard AW: Socket-Verbindung klappt nicht

Danke Tom299,

das ist eine prima Lösung.
Es klappt jetzt.

Danke
ThomasL ist offline   Mit Zitat antworten
Alt 18.01.2012, 08:41   #9 (permalink)
Fortgeschrittenes Mitglied

Modell: HTC Sensation

Registriert seit: 31.08.2011
Beiträge: 390
Abgegebene Danke: 25
Erhielt 59 Danke für 57 Beiträge
Standard AW: Socket-Verbindung klappt nicht

Tom299 ist offline   Mit Zitat antworten
Alt 21.01.2012, 01:52   #10 (permalink)
Neuer Benutzer

Registriert seit: 28.06.2010
Beiträge: 4
Abgegebene Danke: 1
Erhielt 1 Danke für 1 Beitrag
Standard AW: Socket-Verbindung klappt nicht

Top Link! Hast mein Bachelorarbeit gerettet!
thorzten ist offline   Mit Zitat antworten
Antwort

Stichworte
-

Themen-Optionen
Ansicht


Ähnliche Themen

Thema Autor Forum Antworten Letzter Beitrag
USB Verbindung klappt nicht! blabla999 Huawei Ideos X3 (U8510) Forum 2 19.12.2011 22:07
Socket Verbindung löst BufferOverflow aus ChrisMobile Android App Entwicklung 3 07.12.2011 19:42
Wlan Verbindung klappt nicht lupula91 HTC Desire S Forum 2 13.10.2011 14:17
W-LAN Verbindung klappt nicht roseflower Sony Ericsson Xperia X10 Mini / Mini Pro 51 29.01.2011 10:57




Du liest gerade: "Socket-Verbindung klappt nicht" unter "Android App Entwicklung" auf Android-Hilfe.de.


Powered by vBulletin®
Copyright ©2000 - 2012, vBulletin Solutions, Inc.
Search Engine Friendly URLs by vBSEO
© Android-Hilfe.de 2012 - All rights reserved.