# DatagramSocket Empfangen Textarea



## DarkAngelfire (9. Mrz 2006)

Hi Leutz, ich habe ein Java Programm, welches über ein UDP Datagramsocket einen Text empfängt. Mit System.out.println(); kann ich den empfangenen text ausgeben und anzeigen lassen. Mit teaxtarea.setText(); passiert da leider garnichts, es kommt keine Ausgabe.?
Den Code der Methode kann ich nachher wenn gewünscht posten, hab ihn nur im Moment nicht hier!
Bitte um Hilfe!!
Vielen Dank schonmal !

Bye
DarkAngelfire


----------



## DarkAngelfire (9. Mrz 2006)

Die Methode zum empfangen:

```
private String message="";
```


```
protected void rec(int recLaenge)
	{	
		String antwort=null;
		this.recLaenge=recLaenge;
		try {
		byte[] puffer2 = new byte[this.recLaenge];
		DatagramPacket paket2 = new DatagramPacket(puffer2,puffer2.length);
		System.out.println("Empfange...");
		this.setMessage("Empfange..."); 
		
		for (int i=0;i<10;i++)
		{
			    this.Socket.receive(paket2);
				antwort = new String(paket2.getData());

				System.out.println("Empfangen: "+antwort); //DIESE FUNKTIONIERT
				
				 // //// this.message="Empfangen: "+antwort; //DIESE HIER KLAPPT NICHT
		}
		this.closeSocket();
		
	} catch (IOException e) {
		e.printStackTrace();
	}
	this.closeSocket();

}
```

Set/Get Methoden:

```
private void setMessage(String message)
	{
			this.message=message;
	}
	
	protected String getMessage()
	{
		return this.message;
	}
```
Die Methode die den Text in die Textarea setzt(in einer anderen Klasse als die Methoden oben:

```
private void setMessage()
            {
            	if (a.tf_log.getText().equals(""))
            	{
            		a.tf_log.append(m.getMessage());
            	}
            	else
            	{
            		a.tf_log.append(a.tf_log.getText()+"\n"+m.getMessage());
            	}
            }
```
Also, empfangen wird antwort, diese wird umgeleitet auf die Variable message(mit oder ohne set Methode ist egal), dann wird aus der anderen Klasse auf die Klasse mit der Textarea zugegriffen und mit setMessage soll der Inhalt von antwort in die Textarea geschrieben werden... Kleine Sachen wie a.tf_log.setText("test"); z.B. klappen!
Gibt es da vielleicht ein konvertierungsproblem? Kann er den String Inhalt nicht verstehen?


----------



## Stiewen (10. Mrz 2006)

Versuch doch mal befor du den Text auf den TextArea packst nochmal mit System. ... auszugeben!
Zudem: Es scheint mir so, als wenn du erst setMessage(); aufrufst und dann erst das Packet empfängst... bissel unlogisch ...
ruf doch am besten in der For-Schleife setMessage() nochmal auf, wo du kannst und danach noch einmal im Notfall

Greetz Stiewen


----------

