hi,
ich bin dabei einen client-server(hybrid) chat zu schreiben.
wie weit ich bin: also es können clients connecten, die ihren computernamen und ihre ip an den server schicken. dazu generier ich dann noch eine id und die pack das dann in einen vector und in einen tablemodel.
dann schickt der server den vector an den client und der client baut sich aus dem vector seinen tablemodel zusammen.
also der client bekommt den vector als server:
client:
nun das klappt auch. aber nur beim ersten client.
nun das problem: wenn die anderen clients sich die liste holen wollen:
java.net.BindException: Address already in use: JVM_Bind
is ja auch klar.
nur ich hab keine idee wie ich das lösen soll.
gruß
ich bin dabei einen client-server(hybrid) chat zu schreiben.
wie weit ich bin: also es können clients connecten, die ihren computernamen und ihre ip an den server schicken. dazu generier ich dann noch eine id und die pack das dann in einen vector und in einen tablemodel.
dann schickt der server den vector an den client und der client baut sich aus dem vector seinen tablemodel zusammen.
also der client bekommt den vector als server:
client:
Code:
while(true)
{
try
{
blass = new ServerSocket(5556);
blas = blass.accept();
BufferedReader br = new BufferedReader(
new InputStreamReader(blas.getInputStream()));
liste=br.readLine();
sb=br.readLine();
nachricht.setText(sb);
ObjectInputStream objIn = new ObjectInputStream(blas.getInputStream());
try {
connections=(Vector)objIn.readObject();
arr = connections.toArray();
System.out.println(connections);
} catch (Exception e) {
System.out.println("fehler");
e.printStackTrace();
}
blas.close();
blass.close();
}
catch(IOException e)
{
System.out.println("fehler in der verbindung");
System.err.println(e.toString());
}
if(blas.isBound())
{
while(connections.size()>a)
{
String zwischen =connections.get(a).toString();
System.out.println(zwischen);
String namelist = zwischen.substring(0,zwischen.indexOf("/"));
String iplist = zwischen.substring(zwischen.indexOf("/")+1,zwischen.indexOf("*"));
String idlist =zwischen.substring(zwischen.indexOf("*")+1,zwischen.length());
tester.addRow(new Object[] {namelist,iplist,idlist});
a++;
}
}
}
nun das problem: wenn die anderen clients sich die liste holen wollen:
java.net.BindException: Address already in use: JVM_Bind
is ja auch klar.
nur ich hab keine idee wie ich das lösen soll.
gruß