Witam, piszę programik, który przesyła dane między serwerem a klientem
import java.net.*;
import java.io.*;
import javax.swing.*;
import java.awt.event.*;
class server_komp implements Runnable
{
private Socket s;
private ObjectOutputStream output;
private ObjectInputStream input;
private String m="",m1="";
private String mm[];
public Baza ob_bazy;
public server_komp(Socket s_,ObjectInputStream input_,
ObjectOutputStream output_,Baza ob) {
s=s_;
input=input_;
output=output_;
ob_bazy=ob;
}
public void run() {
String pom;
try {
while(true) {
m=(String) input.readObject();
if (m.equals("czesc")) {
m1="czesc";
output.writeObject( m1);
break;}
if (m.equals("add")) {
ob_bazy.wstaw_tytul();
}
if (m.equals("show")) {
m1=ob_bazy.wyswietl();
output.writeObject( m1);
}
}
input.close();
output.close();
s.close();
s=null;
}catch (Exception e) {
System.out.println("Wyjatek serwera1 "+e);}
}
}
public class serwer2 implements Runnable {
private int sPort;
public Baza ob_bazy;
private ServerSocket serwer;
private Socket s;
private ObjectOutputStream output;
private ObjectInputStream input;
private String host;
static int nr=0;
public serwer2(int port_, String host_) {
sPort = port_;
host=host_;
try {
serwer = new ServerSocket(sPort);
}catch(IOException e) {
System.out.println(e);}
}
public void run() {
System.out.println("Serwer startuje na hoscie "+host);
while (true) {
try {
s = serwer.accept();
}catch (IOException e) {
System.out.println("Nie mozna polaczyc sie z klientem "+e);
System.exit(1);}//przerwanie pracy serwera nie jest zalecane w praktyce
if (s!=null) {
try {
output = new ObjectOutputStream(s.getOutputStream());
output.flush();
input = new ObjectInputStream(s.getInputStream());
Thread t = new Thread(new server_komp(s, input, output, ob_bazy));
t.start();
}catch (Exception e) {
System.out.println("Wyjatek serwera "+e);}
}
}
}
public static void main(String args[]) throws Exception {
String host_ = InetAddress.getLocalHost().getHostName();
int Port = 15000;
serwer2 s2 = new serwer2(Port, host_);
Thread t = new Thread(s2);
t.start();
}
}
no i mam taki problem, że odwołanie do ob_bazy
if (m.equals("add")) {
ob_bazy.wstaw_tytul();
}
pokazuje błąd Null Pointer Exception, pomimo tego, że przecież ob_bazy istnieje:
public Baza ob_bazy;
Proszę o pomoc