String zurück liefern !

Status
Nicht offen für weitere Antworten.
K

knopper

Gast
Hi,
Ich habe folgendes Codsegment:

Code:
private void startClient(String name) {
  		
  		new Thread(name) {
  			
  			public void run() {
  				while (true) {
  					try {
  		    		    semaphore.acquire();
 						try {
 		 		 	sockout.write(this.getName());
 		 		 	sockout.flush();
 		 			} catch (Exception e) {
 		 		 	e.printStackTrace();
 						}
 		 			String str = "";
 						try {
 		 		 	byte[] bline = new byte[6048];
 		 		 	sockin.read(bline);
 		 		 	str = new String(bline); // soll sofort zurueck gegeben werden
 		 			} catch (Exception e) {
 		 		 	e.printStackTrace();
 						}
  
 		 			sleep(1000L + (long) (1000L * Math.random()));
  
  		    		    semaphore.release();
 					} catch (Exception e) {
  		    		    e.printStackTrace();
  					}
  				}
  			}
  		}.start();
  	}

Was ich machen wollte ist die Methode startClient mit einem String als Rückgabewert(new String(bline) umzuschreiben.
Der Thread ist aber eine eigene Klasse. Wie kann ich dieses Problem umgehen.

z.B. so soll es aufgerufen werden:
System.out.println(startClient("socket_command"));

gruss
 
B

Beni

Gast
Wenn "startClient" das Ergebnis des Threads zurückgeben sollte, müsste startClient auf den Thread warten, was den Thread ziemlich überflüssig macht...

Also entweder Thread weglassen, oder aus dem Thread heraus die Methode aufrufen, welche die bline benötigt.
 
K

knopper

Gast
Ich muss verschiedene commands aufrufen:

startClient("socket_command1");
startClient("socket_command2");
startClient("socket_command3");

und bline auslesen. Thread kann ich nicht rauslassen. Kann man als Stream oder oder was speichern ?

Gruss
 

Bert Brenner

Bekanntes Mitglied
Wie währe es wenn der Thread fertig ist einfach eine Methode einer anderen Klasse aufruft um seinen Wert zu übergeben.
 
K

knopper

Gast
Danke, Ich habe es nach fertigen Thread geändert, aber es fällt mir wieder ein, dieses Thread kann bline nicht sofort auslesen, so dass man mit andere Methode anderer Klasse den Rückgabewert von diesem Thread auch nicht gleich zurück geben kann.

zb.
sockthread.getResult();
Gruss
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
T String von Client zu Server kommt nicht an Netzwerkprogrammierung 92
T Brauche Hilfe beim GET-String für HttpURLConnection Netzwerkprogrammierung 4
T server empfängt nur 1 Buchstaben vom String Netzwerkprogrammierung 1
N Name eines Attributes aus einem festen String und einer Variablen generieren Netzwerkprogrammierung 5
S Socket String InputStream in hex umwandeln Netzwerkprogrammierung 1
T Socket Gleiche String ungleich? Netzwerkprogrammierung 8
M Socket String Arrays über Socket an Server schicken Netzwerkprogrammierung 2
F String in Datenbank speichern Netzwerkprogrammierung 1
I RMI String Netzwerkprogrammierung 2
precoc String Array versenden Netzwerkprogrammierung 7
T Socket String zu Socket Netzwerkprogrammierung 26
7 String an Server Netzwerkprogrammierung 2
lumo String[] wird zu null bei Serialisierung Netzwerkprogrammierung 8
S WebService, 4-stelliger String (Jahr) als Calendar Netzwerkprogrammierung 5
M String an PHP Script aus Java übergeben Netzwerkprogrammierung 12
N String als byte Array über Socket versenden Netzwerkprogrammierung 8
M Messenger - String oder Objekte Netzwerkprogrammierung 4
T Socket Nullterminierten String lesen Netzwerkprogrammierung 4
J Datei übertragen ja String + datei übertragen nein Netzwerkprogrammierung 5
H String Array durch einen Stream schicken. Netzwerkprogrammierung 4
N Socket Stream in String Netzwerkprogrammierung 4
J Browser-String angeben Netzwerkprogrammierung 5
S String[] über Socket senden Netzwerkprogrammierung 3
F Stream wird als Char übertragen. Char -> in String umwand Netzwerkprogrammierung 5
G String in InetAddres umwandeln klappt nicht Netzwerkprogrammierung 5
A String per ByteBuffer empfangen? Netzwerkprogrammierung 6
ModellbahnerTT Problem feste String ins Netzwerk zu geben Netzwerkprogrammierung 5
G UTF-8 in STring umwandeln oder umgedreht Netzwerkprogrammierung 12
F String in eine URL umwandeln Netzwerkprogrammierung 7
P string over net Netzwerkprogrammierung 4
T Html-Source über URL in einen String speichern? Netzwerkprogrammierung 16
B HEX String zu einem Byte Array ? *verzweiflung* :( Netzwerkprogrammierung 16
S SSLSocketFactory.createSocket(String hostname, int port),wo? Netzwerkprogrammierung 5
O Ip-String in byte[]-Array umwandeln? Netzwerkprogrammierung 3
C gesendeten String einlesen Netzwerkprogrammierung 3
G String to Socket ? Netzwerkprogrammierung 3
A StringCorruptedException: invalid String header Netzwerkprogrammierung 2
E FTP FTPS Server gibt Fehlernachricht "522 SSL/TLS required on the data channel" zurück Netzwerkprogrammierung 1
Thallius JDBC getConnection kommt nicht zurück Netzwerkprogrammierung 1
Thalion Selector gibt nichts zurück Netzwerkprogrammierung 1
N Proxy gibt keine Antwort zurück Netzwerkprogrammierung 5
J Socket Server Antwort zurück auf die GUI bringen Netzwerkprogrammierung 4
B NetworkInterface.getHardwareAddress liefert null zurück Netzwerkprogrammierung 8
2 Socket ObjectOutputstream kehrt nicht zurück Netzwerkprogrammierung 2
M Socket InputStream sendet ausgaben von OutputStream zurück Netzwerkprogrammierung 2
J in.ready() liefert IMMER false zurück Netzwerkprogrammierung 11
M Falsche Instanz vom Class Loader zurück bekommen Netzwerkprogrammierung 8
O BufferedReader.readline kommt nicht zurück Netzwerkprogrammierung 7
T RMI Methodenaufrufe mit unterschiedlichen parametern liefern gleiche Ergebnisse Netzwerkprogrammierung 8

Ähnliche Java Themen


Oben