Moin moin,
folgendes Problem:
in meinem Chatprogramm habe ich derzeit folgende Klasse, um Nachrichten an den Server zu verschicken:
In meinem Konstruktor übergebe ich halt meinen Socket, da der für den DataOutputStream benötigt wird.
Dann will ich die Klasse woanders aufrufen - und zwar will ich sie aufrufen, wenn ich auf einen Button drücke, sprich: wenn ich meine Nachricht an den Server senden will:
ist mein Textfeld, aus dem ich den Text ziehe, jedenfalls hat er die Variable clientSocket halt nicht...die ist wiederum ja in einer anderen Klasse...also wollte ich dann halt in meiner Methode was ändern:
nur ist das ein Teufelskreis und ich muss bei jedem Aufruf etwas ändern und am Ende geht gar nichts mehr... Hat da vllt wer eine bessere Idee, wie ich die Nachricht verschicken kann...?
So long,
Zel
folgendes Problem:
in meinem Chatprogramm habe ich derzeit folgende Klasse, um Nachrichten an den Server zu verschicken:
Java:
package network;
import java.io.DataOutputStream;
import java.io.IOException;
import java.net.Socket;
public class SendToServer extends Thread {
private DataOutputStream _out = null;
private String msg = null;
public SendToServer(Socket clientSocket, String msg) {
try {
_out = new DataOutputStream(clientSocket.getOutputStream());
this.msg = msg;
if (msg != null) {
_out.writeBytes(this.msg + "\n");
System.out.println("FROM CLIENT: \"" + msg + "\"");
}
} catch (IOException e) {
e.printStackTrace();
}
this.start();
}
}
In meinem Konstruktor übergebe ich halt meinen Socket, da der für den DataOutputStream benötigt wird.
Dann will ich die Klasse woanders aufrufen - und zwar will ich sie aufrufen, wenn ich auf einen Button drücke, sprich: wenn ich meine Nachricht an den Server senden will:
Java:
new SendToServer(clientSocket, in.getText());
Code:
in.getText();
Java:
private void actionHandler(Socket clientSocket) {
//...
}
nur ist das ein Teufelskreis und ich muss bei jedem Aufruf etwas ändern und am Ende geht gar nichts mehr... Hat da vllt wer eine bessere Idee, wie ich die Nachricht verschicken kann...?
So long,
Zel