Witam, mam taki problem. Chce zrobic komunikator. Mam między innymi dwie klasy: klasa okna (rozszerza JFrame), oraz klasa dla gniazdka (rozszerza Thread). W klasie okna mam całe GUI, ActionListenera, natomiast w klasie dla gniazdka mam zdefiniowane:
gniazdo = new Socket(host, port);
wyjscie = new ObjectOutputStream(gniazdo.getOutputStream());
wejscie = new ObjectInputStream(gniazdo.getInputStream());
oraz w metodzie run() obsługuję całą komunikację (readObject, writeObject).
I teraz pytanie, jak to zrobić, aby to, co wpisuję w klasie z GUI, szło do klasy z gniazdkiem, a następnie się wysyłało dalej (na serwer).
Próbowałem to zrobić w ten sposób:
private volatile boolean komenda = false;
private String s_komenda;
public void wyslijKomende(String s_kom) {
s_komenda = s_kom;
komenda = true;
}
public void run() {
try {
while(true) {
if(komenda) {
wyjscie.writeObject(komenda);
komenda = false; // tutaj jeszcze robilem sprawdzanie, czekalem na odpowiedz,
// aczkolwiek to miejsce w kodzie sie nigdy nie uruchamialo
}
}
} catch(Exception e) {}
}
Ale ten sposób nie działa... Jak to zrobić? Albo co jest źle w moim rozumowaniu? Z góry dzięki na podpowiedzi.