TCP Verbindung unter Android

Dieses Thema im Forum "Webmaster Hilfe / Programmierer Forum" wurde erstellt von lol1996lol, 14.07.2013.

  1. #1 lol1996lol, 14.07.2013
    lol1996lol

    lol1996lol Erfahrener Benutzer

    Dabei seit:
    10.12.2010
    Beiträge:
    450
    Zustimmungen:
    0
    Guten Abend

    Habe in den letzten Wochen ein Java Programm endwickelt welches über einen Server die GPIO Pins vom Raspberrypi steuerst. Das ganze sieht so aus das auf dem RaspberryPi ein Server läuft der auf den Port 7 hört und die Zahlen 1-17 annimmt um demendsprechend den Pin aktiviert. Das Programm am Rechner sieht so aus das man sich 17 Button aussuchen kann und indieviduell Beschriften. Der Witz dabei ist das ich dadurch mein Zimmer "steuern" kann. Jetzt ist mir die Idee gekommen das man das ganze ja auch auf mein Handy/Tablett (beides Android) portieren kann. Also habe ich mich eigelesen und das Grundprogramm ist auch fertig nur finde ich irgendwie nichts was mit TCP Verbindungen unter Android zu tun hat. Die normalen Java Socket Verbindungen funktioieren ja nicht.

    Jetzt ist meine Frage: Hat jemand eine gute Seite oder kennt ein gutes Buch zu dem Thema?

    MfG
     
  2. AdMan

    schau mal hier: Windows-Wartungs-Tool. Viele Probleme lassen sich damit einfach beheben. Oftmals ist der PC dann auch schneller!
    Registrieren bzw. einloggen, um diese und auch andere Anzeigen zu deaktivieren.
  3. #2 Blaxxun, 15.07.2013
    Blaxxun

    Blaxxun aka Noisy

    Dabei seit:
    06.11.2005
    Beiträge:
    6.171
    Zustimmungen:
    0
  4. #3 xandros, 15.07.2013
    xandros

    xandros IT Consultant, Cisco Registered Partner
    Moderator

    Dabei seit:
    05.07.2007
    Beiträge:
    25.881
    Zustimmungen:
    91
    Ort:
    Umkreis Duisburg, neben Mannheim, hinter Hamburg
    Port 4, 8, 10, 12, 14, 16, 26, 40 oder sonst ein nicht weiter verwendeter Port waere wohl geistreicher als auf einem Port Daten zu verschicken, auf dem normalerweise das Echo-Protokoll lediglich die empfangenen Daten wieder zurueckwirft.
     
  5. #4 lol1996lol, 15.07.2013
    lol1996lol

    lol1996lol Erfahrener Benutzer

    Dabei seit:
    10.12.2010
    Beiträge:
    450
    Zustimmungen:
    0
    Guten Morgen

    @Blaxum Denke ja. Habe es gerade zwar nur überflogen aber es sieht nach dem aus was ich suche.

    @xandros Ich denke mal das ist beim raspberry pi egal da Standartmässig nur Port 22 für SSH aktiviert ist und auch benutzt wird. Zum Zweiten gibt der Server auch zurück ob alles angekommen ist oder nicht.
     
  6. #5 lol1996lol, 15.07.2013
    lol1996lol

    lol1996lol Erfahrener Benutzer

    Dabei seit:
    10.12.2010
    Beiträge:
    450
    Zustimmungen:
    0
    OK ich bins nochmal. Habe jetzt zwei Clienten geschrieben. Beide laufen auch ohne Fehler nur Verbinden sich beide nicht mit dem Server.

    Nummer ein:
    Code:
    package com.raspberrypi.steuerung;
    
    import java.io.OutputStream;
    import java.io.PrintWriter;
    import java.net.Socket;
    
    public class client_eins 
    {
    	public void Client()
    	{
    		try{
    	        Socket socket = new Socket("raspberrypi", 7);   
    	
    	        OutputStream out = socket.getOutputStream();       
    	        PrintWriter output = new PrintWriter(out);         
    	
             
    	        output.println("1");
    	        output.flush();
    	        output.close();
    	             
    	
    	        socket.close();                                    
    	    }
    	    catch(Exception e)
    	    {
    	    	System.out.print(e+"shacso");
    	    }
    	}
    
    }
    
    
    Nummer zwei:
    Code:
    package com.raspberrypi.steuerung;
    
    import java.net.*;
    import java.io.*;
    
    import android.util.Log;
    
    public class Client 
    {    	       
    		 
            public void Client_eins() 
            {
     
             try {
     
                     InetAddress serverAddr = InetAddress.getByName("raspberrypi");
     
                     Log.d("TCP", "C: Connecting...");
     
                     Socket socket = new Socket(serverAddr, 7);
     
                     String message = "1";
     
     
     
                     try 
                     {
     
                    	 Log.d("TCP", "C: Sending: '" + message + "'");
     
                         PrintWriter out = new PrintWriter( new BufferedWriter( new OutputStreamWriter(socket.getOutputStream())),true);
                         out.println(message);
     
                         Log.d("TCP", "C: Sent.");
     
                         Log.d("TCP", "C: Done.");
     
                             
     
                 } 
     
                 catch(Exception e) 
                 {
     
                     Log.e("TCP", "S: Error", e);
                     
                 } 
                 finally 
                 {
     
                	 socket.close();
         
                 }
     
     
     
             } 
             catch (Exception e) 
             {
     
                  Log.e("TCP", "C: Error", e);
     
             }
     
        }
     
    }
    
    
    Die Log Ausgaben kann ich leider nicht auslesen weil das ganze auf dem Handy laufen muss da der Emulator keine Netzwerk Verbindung unterstützt.
     
  7. AdMan

    Es ist generell erstmal empfehlenswert alle ggf. veralteten oder fehlerhaften Treiber zu scannen und auf neue zu aktualisieren. Hier kannst du einen Treiber-Scanner downloaden. Das erspart oftmals viel Ärger und hilft gegen diverse Probleme.
    Registrieren bzw. einloggen, um diese und auch andere Anzeigen zu deaktivieren.
  8. #6 xandros, 15.07.2013
    xandros

    xandros IT Consultant, Cisco Registered Partner
    Moderator

    Dabei seit:
    05.07.2007
    Beiträge:
    25.881
    Zustimmungen:
    91
    Ort:
    Umkreis Duisburg, neben Mannheim, hinter Hamburg
    Das ist im Prinzip jedem Rechner egal. Genutzt wird der Port 7 jedoch auch dann, wenn man es gar nicht vermutet. Er hat eben seine festgelegte Funktion und ein zugehoeriges Protokoll!
    Aktiviert ist dieser Port daher immer.
    Genau das und nicht mehr! Die Daten werden schlichtweg nur zurueckgeworfen und dann nicht weiter verarbeitet. Das ist der Sinn des Ports 7 -> Empfangene Daten zurueckschicken, damit man sehen kann, ob irgendwo auf dem Weg ein Datenverlust auftritt.

    Vielleicht ist damit etwas logischer, warum Verbindungen ueber diesen Port nicht wirklich zustande kommen, sondern in einem reinen Echo enden.
     
  9. #7 lol1996lol, 15.07.2013
    lol1996lol

    lol1996lol Erfahrener Benutzer

    Dabei seit:
    10.12.2010
    Beiträge:
    450
    Zustimmungen:
    0
    Zum ersten: Da verstehst du etwas Falsch: Auf dem raspberryPi läuft ja ein sehr abgespecktes Linux und dort gibt es ein solches Protokoll nicht sonst würde ja ein Standard EchoClient ohne eigenen EchoServer funktionieren. Da dieser Port aber ohne root Rechte genutzt werden kann ist dieser bei dem RaspberryPi Projekt optimal.

    Zum Zweiten: Wenn ich eine Verbindung über das Programm am Rechner aufbaue funktioniert es ja. Also liegt es am Android Code.
     
Thema:

TCP Verbindung unter Android

Die Seite wird geladen...

TCP Verbindung unter Android - Ähnliche Themen

  1. Flug Verbindungen nach Hurghada - Erfahrungen?

    Flug Verbindungen nach Hurghada - Erfahrungen?: Ich sitze gerade an den Planungen für einen Urlaub im Februar und hätte an Hurghada als Destination gedacht. Der Sinn und Zweck dabei ist auch,...
  2. [Android] Pokemon GO und Intel

    [Android] Pokemon GO und Intel: Hallo, ich würde gerne Pokemon Go spielen doch in meinen Android Handy ist ein Intel verbaut womit das Spiel nicht klar kommt. Meine Frage ist nu...
  3. [ANDROID] App wurde beendet

    [ANDROID] App wurde beendet: Hallo, ich habe seit ich mein Handy auf Werkeinstellungen zurückgesetzt habe ein ziemlich nerviges und seltsames Problem. Denn nach dem Reset und...
  4. Smart tv und Laptop mittels wireless hdmi verbinden

    Smart tv und Laptop mittels wireless hdmi verbinden: Hallo Leute ich möchte meinen smart tv als zweit Bildschirm für dem lappi nutzen allerdings ohne das hdmi kabel da man da nur drüber stolpert.ich...
  5. Remote Desktop Verbindung

    Remote Desktop Verbindung: Hallo Leute, ich veruschs mal kurz zu machen: Habe eine Fritzbox, an der sind zwei Rechner (Win 7 Pro) mit einem LAN-Kabel angeschlossen. Diese...