App Telnetverbindung initialisieren

allstar

Lt. Commander
Registriert
Aug. 2005
Beiträge
1.188
Hallo,

ich möchte testweise mit dem Online App Builder "Tiggzi" gerne ein miniapp schreiben, welches nach Eingabe einer IP und eines Passwortes eine Telnetverbindung zu einem anderen Gerät aufbaut. Idealerweise müsste dann nach erfolgter Verbindung ein Status einer bestimmten Sache abgefragt werden und dieser als virteuelle LED dargestellt werden.

Klingt an sich recht simpel, doch stoße ich hier auf das Problem, dass ich leider nicht weiß wie ich bei diesem Online-Tool entsprechende Funktionalität einbinden kann. Dort gibt es nur vorgefertigte Funktionen, die natürlich nicht passen und eine Möglichkeit ein JavaScript zu hinterlegen. Soweit ich weiß kann man aber per JavaScript keine Telnetverbindung aufbauen oder?
 
Zuletzt bearbeitet:
Okay, wie kann ich es dann gestalten? Es gibt ja auch diverse Apps, welche in der Lage sind eine Telnetverbindung auzubauen. Gerne auch mit anderen App-Buildern.
 
App Builder kannst du bei solchen Anwendungen knicken. Wie du selber merkst, sind sie für solche Fälle nicht geeignet. Die meisten Builder, die die Programmierung für verschiedene Systeme vereinheitlichen (PhoneGap, Tiggzi, usw.) sind im Grunde nur ein JS-Interpreter, der nativ für das jeweilige System programmiert wurde. Oder es wird schlicht nur eine Browserkomponente verwendet, die JS interpretieren kann. Das ist keine effiziente Programmierung.



Für welches OS? Für welche Programmiersprache?

Für Windows 7 & 8 & Phone 7.5 -> Visual Studio 2010 Express (for Windows Phone) [Click]
Programmierung erfolgt meist in C# unter Verwendung des .Net Frameworks.

Für Android -> Eclipse + Android SDK [1] [2]
Programmierung erfolgt meist in Java.

Für iOS -> keine Ahnung
Programmierung erfolgt in Objective C mit einer Entwicklungsumgebung, die afaik nur auf einem Mac läuft.


Willkommen im Dschungel!
 
Zuletzt bearbeitet:
Sollte erstmal für Android sein. Mit Eclipse und nem passenden SDK habe ich früher schonmal für ein BlackBerry was rumgebastelt war aber recht kompliziert und hat auch nur halb funktioniert. So ganz begeistert war ich davon nicht. :/

Na gut dann muss ich nochmal schauen. Aber du meinst das das damit funktionieren sollte? Weil JavaSCRIPT kann ja anscheinend keine Telnetverbindung initialisieren.
 
Das ist richtig, JS kann das nicht. Aber mit den aufgezählten Dingen von mir, kannst du eine Telnet-Verbindung in einer anderen Sprache (in deinem Fall: Java) aufbauen.


Der Kontakt zu einem HTTP-Server (mit passendem PHP-Skript) kann dann zB so aussehen:
Code:
import java.io.BufferedInputStream;
import java.io.IOException;
import java.net.URL;

import android.os.AsyncTask;
import android.widget.Toast;

public class LoginRemoteDB extends AsyncTask<String,String,String>{

	protected static final String servername = "10.0.2.2/android";
	
	@Override
	protected String doInBackground(String... params) {
		try {
			System.out.println("bla");
			URL fileUrl = new URL(getLoginRequest(params));
			fileUrl.openConnection().setConnectTimeout(30000);
			BufferedInputStream in = new BufferedInputStream(fileUrl.openStream());
            
            
			byte[] data = new byte[1024];
			int x;
			String response = "";

			while ((x = in.read(data, 0, 1024)) >= 0) {
				response = response + new String(data).substring(0, x);
			}

			in.close();
			return response;
		} catch (IOException ex) {
			return "";
		}

	}
	
	protected void onPostExecute(String result){
		System.out.println(result);

		if (result.equals("")){
			Toast.makeText(Storage.getContext(), "Login into Server failed", 3000).show();
			Storage.setLogin(result);

		} else {
			if (result.equals("true")){
				Toast.makeText(Storage.getContext(), "Login success", 3000).show();
				Storage.setLogin(result);

			} else {
				System.out.println("test");
				Toast.makeText(Storage.getContext(), "Login into Server failed", 3000).show();
				Storage.setLogin(result);
			}
		}
	}
	
	private String getLoginRequest(String...strings ){		
		String s ="http://" + servername + "/login.php?mail=" + strings[0] + "&pwhash=" + strings[1] ;
				
		return s;
	}

}
Ein Import und die Package-Angabe habe ich entfernt. Einige Dinge sind auch nicht optimal gelöst (return "" in einer Exception :freak:).
Modifizierung für den Zugriff auf einen Telnet-Server sollte nicht schwer fallen. Es geht ja nur ums Prinzip.
 
Okay danke erstmal soweit. Das heißt also ich muss auf einem HTTP-Server ein PHP-Script hinterlegen auf welches das App per Java zugreifen kann?

Achso noch eine Frage was ich noch nicht so ganz verstanden habe. Kann ich einfach so per Java die Verbindung herstellen oder benötige ich zwangsweise eine API?
 
Informiere dich. Deine Fragen deuten darauf hin, dass du überhaupt keinen Ahnung hast, was du dir da gerade an Arbeit aufhalsen willst. Und sie deuten darauf hin, dass du noch viel zu wenig Ahnung von Programmierung hast. Dein Projekt wirst du so nicht realisieren können, du wirst schlicht scheitern.

(Java-Kenntnisse auffrischen, sich die Eigenarten und Konzepte der Android-Programmierung aneignen, am Ende dann die App bauen -> dafür brauchst du locker 3 Monate, wenn nicht mehr)
 
Prinzipiell haste da nicht unrecht mit. Bin kein Programmierer und im Netz findet man leider nicht viel sinnvolles Material was man auch brauchen kann. Ist ja nichts schlimmes wenn man was fragt oder? ;) Besser vorher fragen als zig Stunden in die falsche Richtung rumprobieren um dann gesagt zu bekommen, dass das so nicht geht.
 
Zurück
Oben