Communiction IP zuweisen

xrax

Erfahrenes Mitglied
Hallo zusammen,

ich habe in einem Rechnerzentrum mehrere verfügbare IPs.
Ich möchte meinem Programm eine dieser IPs speziell zuweisen mit welcher es dann kommuniziert.

Wie kann ich das machen und wie dann kontrollieren ob mein Programm auch diese IP nutzt ?

Besten Dank
xrax
 

HonniCilest

Erfahrenes Mitglied
Ehrlich gesagt sind die gegebenen Informationen sehr mager. Aber gut, ich habe verstanden du hast eine bestimmte Liste an verfügbaren IP's, ich nehme an die sind dir bekannt und liegen dir im Programm vor.

Ich möchte meinem Programm eine dieser IPs speziell zuweisen mit welcher es dann kommuniziert.

Was soll dein Programm kommunizieren? Auf welchem Layer soll dies geschehen? Soll die Kommunikation bidirektional sein?

Bedenke, die Kommunikation kann nur zustande kommen, wenn beide Kommunikationspartner damit einverstanden sind, ansonsten wäre das ja gefährlich ;-) Ausnahme bilden hier z.B. die Windows-Funktionen, welche es beispielsweise erlauben Systeme im Netzwerk Remote zu bedienen. Diese Funktionen wären nur über Umwege in Java greifbar.

Mit Java Standardmitteln benötigst du immer auf beiden Seiten ein Programm. Es gibt hier einige Möglichkeiten.

Wenn du z.B. auf dem Transport-Layer arbeitest, kannst du ganz primitiv eine Socket-Verbindung aufbauen.
http://de.wikibooks.org/wiki/Java_Standard:_Socket_ServerSocket_(java.net)_UDP_und_TCP_IP

Je nach dem, was die Kommunikation bewerkstelligen soll, kann dies aber sehr schnell sehr unübersichtlich werden. Aus diesem Grund werden in der Praxis Anwendungen auf dem Applikations-Layer geschrieben. Hier kommt m.E. immer häufiger der Webservice (http) zutrage.
 

xrax

Erfahrenes Mitglied
Entschuldige das ich nicht genug Infos gesendet habe. Wenn man im Thema ist, denkt ich immer das die Infos ausreichen.

Ich habe jetzt den Code angehängt, mit welchem ich meine Versuche startete.


Besten Dank für deine Info !

Code:
//import org.apache.http.*

	public String sendCallFromIP(String TargetUrl) throws Exception{
	
		URL url = new URL(TargetUrl);		

		StringBuffer stBuf=new StringBuffer();
			HttpClient httpclient = new DefaultHttpClient();

			HttpPost httppost = new HttpPost(TargetUrl);
			httppost.getMethod();
			HttpResponse response = httpclient.execute(httppost);
			
			System.out.println("-->"+response.getStatusLine());
			//standardout:-->HTTP/1.1 200 OK
			HttpEntity resEntity = response.getEntity();

			BufferedReader in = new BufferedReader(new InputStreamReader(resEntity.getContent()));
			String line;
			while ((line = in.readLine()) != null) {
				stBuf.append(line);
			}	
			
		String resString=stBuf.toString();
		if(resString!=null && !resString.equals("")){
		return resString;
		
		//auf der anderen Seite habe ich ein Programm das mir zurückgibt, mit welcher IP ich anfrage. Das ist dann resString.
		//es kommt immer standardout:(Standart)IPdesSevers - URLdesServers
		//dem Server sind aber mehrere IPs zugewiesen und ich möchte eine davon nutzen.
		//wie kann ich in meinem Code angeben welche IP genutzt werden soll.
		}
		return "FAILURE";
	}