Witam.
Oto kod apletu (klienta)
import java.applet.Applet;
import java.awt.*;
import java.io.*;
import java.net.*;
import javax.swing.*;
import java.awt.event.*;
import java.awt.TextField;
import java.lang.*;
public class socket extends Applet implements ActionListener{
Socket localSocket;
JButton przycisk;
JLabel label;
JTextField pole_tekstowe;
public void init(){
JFrame ramka = new JFrame();
ramka.setLayout(null);
label = new JLabel("kaka");
label.setSize(200,50);
label.setLocation(50,50);
ramka.add(label);
ramka.setSize(300,300);
ramka.setVisible(true);
przycisk = new JButton("Kliknij mnie");
przycisk.setLocation(50,100);
przycisk.setSize(200,50);
przycisk.addActionListener(this);
ramka.add(przycisk);
}
public void actionPerformed(ActionEvent e)
{
try{
localSocket = new Socket(this.getCodeBase().getHost(), 5555);
InputStreamReader strCzytelnik = new InputStreamReader(localSocket.getInputStream());
BufferedReader czytelnik = new BufferedReader(strCzytelnik);
String tekst = czytelnik.readLine();
label.setText(tekst);
czytelnik.close();
}
catch(UnknownHostException unc)
{
label.setText("Connection why not connected");
}
catch(IOException ex)
{
label.setText("bu");
}
}
}
A to kod serwera:
import java.io.*;
import java.net.*;
public class MyServer {
String[] listaPorad = {"baba", "saba", "DUZE", "male"};
public void do_dziela(){
try{
ServerSocket gniazdoSrw = new ServerSocket(5555);
while(true){
Socket gniazdo = gniazdoSrw.accept();
PrintWriter pisarz = new PrintWriter(gniazdo.getOutputStream());
String porada = wybierzPorade();
pisarz.println(porada);
pisarz.close();
}
}
catch(IOException ex){
ex.printStackTrace();
}
}
public static void main (String[] args){
serwer popraw = new serwer();
popraw.do_dziela();
}
private String wybierzPorade(){
int random = (int) (Math.random()*listaPorad.length);
return listaPorad[random];
}
}
Klient i "serwer" znajdują się na tym samym serwerze w sieci. Po odpaleniu apletu i kliknięciu w przycisk nic się nie dzieje.
Chciałbym aby po kliknięci przycisku aplet połączył się z "serwerem" i pobrał wiadomość i wyświetlił w polu 'label'.
Pozdrawiam i z góry dziękuje za pomoc ;)