12/02/12 7:52
killer
salve a tutti...Vorrei porvi un problema stranissimo.
dopo aver definito la classe Server .....
....la classe ....
e le classi [Client] e [ClientIOChannel implements runnable] ---> allo stesso modo
ho notato che quando il client si logga al server va tutto bene ma dopo pochi secondi entra in crash si blocca tutta l'interfaccia grafica.. ho provato ad usare dopo la classe DataOutputStream e DataInputStream e non si blocca..come mai ? come potrei risolvere questo problema..ho necessità di usare l ObjectOutputStream per trasferire oggetti...
Questo è l'errore che mi visualizza:
fatemi sapere presto.grazie
dopo aver definito la classe Server .....
ServerSocket server=new ServerSocket(port); public static List<Client> clientlist; for(;;){ Socket s=server.accept(); ServerIOChannel channel=new ServerIOChannel(s); channel.start(); }
....la classe ....
public class ServerIOChannel implements Runnable(){ private Socket sock; private ObjectOutputStream oos; private ObjectIntputStream ois; private boolean running=false; public ServerIOChannel(Socket sock) throws Exception{ this.sock=sock; ois=new ObjectInputStream(this.sock.getInputStream()); oos=new ObjectOutputStream(this.sock.getOutputStream()); Thread t=new Thread(this); t.start(); } @Override public void run(){ running=true; while(running){ String receivedline=(String) ois.readObject(); if(receivedline.equals("sendsSerializedObject"){ oos.writeObject(Server.list); oos.flush(); } } } }
e le classi [Client] e [ClientIOChannel implements runnable] ---> allo stesso modo
ho notato che quando il client si logga al server va tutto bene ma dopo pochi secondi entra in crash si blocca tutta l'interfaccia grafica.. ho provato ad usare dopo la classe DataOutputStream e DataInputStream e non si blocca..come mai ? come potrei risolvere questo problema..ho necessità di usare l ObjectOutputStream per trasferire oggetti...
Questo è l'errore che mi visualizza:
java.net.SocketException: Connection reset impossibile leggere e scrivere Connection reset by peer: socket write error at java.net.SocketInputStream.read(SocketInputStream.java:189) at java.net.SocketInputStream.read(SocketInputStream.java:121) at java.io.DataInputStream.read(DataInputStream.java:149) at java.io.ObjectInputStream$PeekInputStream.read(ObjectInputStream.java:2283) at java.io.ObjectInputStream$PeekInputStream.readFully(ObjectInputStream.java:2296) at java.io.ObjectInputStream$BlockDataInputStream.readShort(ObjectInputStream.java:2767) at java.io.ObjectInputStream.readStreamHeader(ObjectInputStream.java:798) at java.io.ObjectInputStream.<init>(ObjectInputStream.java:298) at jNewClientProject.ClientIOChannel.<init>(ClientIOChannel.java:38) at jNewClientProject.Main.jButtonConnectMouseReleased(Main.java:98) at jNewClientProject.Main.accesssalve a tutti...Vorrei porvi un problema stranissimo.
dopo aver definito la classe Server .....ServerSocket server=new ServerSocket(port); public static List<Client> clientlist; for(;;){ Socket s=server.accept(); ServerIOChannel channel=new ServerIOChannel(s); channel.start(); }
....la classe ....public class ServerIOChannel implements Runnable(){ private Socket sock; private ObjectOutputStream oos; private ObjectIntputStream ois; private boolean running=false; public ServerIOChannel(Socket sock) throws Exception{ this.sock=sock; ois=new ObjectInputStream(this.sock.getInputStream()); oos=new ObjectOutputStream(this.sock.getOutputStream()); Thread t=new Thread(this); t.start(); } @Override public void run(){ running=true; while(running){ String receivedline=(String) ois.readObject(); if(receivedline.equals("sendsSerializedObject"){ oos.writeObject(Server.list); oos.flush(); } } } }
e le classi [Client] e [ClientIOChannel implements runnable] ---> allo stesso modo
ho notato che quando il client si logga al server va tutto bene ma dopo pochi secondi entra in crash si blocca tutta l'interfaccia grafica.. ho provato ad usare dopo la classe DataOutputStream e DataInputStream e non si blocca..come mai ? come potrei risolvere questo problema..ho necessità di usare l ObjectOutputStream per trasferire oggetti...
Questo è l'errore che mi visualizza:
java.net.SocketException: Connection reset impossibile leggere e scrivere Connection reset by peer: socket write error at java.net.SocketInputStream.read(SocketInputStream.java:189) at java.net.SocketInputStream.read(SocketInputStream.java:121) at java.io.DataInputStream.read(DataInputStream.java:149) at java.io.ObjectInputStream$PeekInputStream.read(ObjectInputStream.java:2283) at java.io.ObjectInputStream$PeekInputStream.readFully(ObjectInputStream.java:2296) at java.io.ObjectInputStream$BlockDataInputStream.readShort(ObjectInputStream.java:2767) at java.io.ObjectInputStream.readStreamHeader(ObjectInputStream.java:798) at java.io.ObjectInputStream.<init>(ObjectInputStream.java:298) at jNewClientProject.ClientIOChannel.<init>(ClientIOChannel.java:38) at jNewClientProject.Main.jButtonConnectMouseReleased(Main.java:98) at jNewClientProject.Main.access{parsed_message}0(Main.java:13) at jNewClientProject.Main.mouseReleased(Main.java:46) at java.awt.AWTEventMulticaster.mouseReleased(AWTEventMulticaster.java:290) at java.awt.Component.processMouseEvent(Component.java:6505) at javax.swing.JComponent.processMouseEvent(JComponent.java:3321) at java.awt.Component.processEvent(Component.java:6270) at java.awt.Container.processEvent(Container.java:2229) at java.awt.Component.dispatchEventImpl(Component.java:4861) at java.awt.Container.dispatchEventImpl(Container.java:2287) at java.awt.Component.dispatchEvent(Component.java:4687) at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4832) at java.awt.LightweightDispatcher.processMouseEvent(Container.java:4492) at java.awt.LightweightDispatcher.dispatchEvent(Container.java:4422) at java.awt.Container.dispatchEventImpl(Container.java:2273) at java.awt.Window.dispatchEventImpl(Window.java:2713) at java.awt.Component.dispatchEvent(Component.java:4687) at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:707) at java.awt.EventQueue.access{parsed_message}0(EventQueue.java:101) at java.awt.EventQueue.run(EventQueue.java:666) at java.awt.EventQueue.run(EventQueue.java:664) at java.security.AccessController.doPrivileged(Native Method) at java.security.ProtectionDomain.doIntersectionPrivilege(ProtectionDomain.java:76) at java.security.ProtectionDomain.doIntersectionPrivilege(ProtectionDomain.java:87) at java.awt.EventQueue.run(EventQueue.java:680) at java.awt.EventQueue.run(EventQueue.java:678) at java.security.AccessController.doPrivileged(Native Method) at java.security.ProtectionDomain.doIntersectionPrivilege(ProtectionDomain.java:76) at java.awt.EventQueue.dispatchEvent(EventQueue.java:677) at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:211) at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:128) at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:117) at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:113) at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:105) at java.awt.EventDispatchThread.run(EventDispatchThread.java:90) java.net.SocketException: Connection reset by peer: socket write error at java.net.SocketOutputStream.socketWrite0(Native Method) at java.net.SocketOutputStream.socketWrite(SocketOutputStream.java:109) at java.net.SocketOutputStream.write(SocketOutputStream.java:153) at java.io.DataOutputStream.write(DataOutputStream.java:107) at java.io.ObjectOutputStream$BlockDataOutputStream.drain(ObjectOutputStream.java:1857) at java.io.ObjectOutputStream$BlockDataOutputStream.setBlockDataMode(ObjectOutputStream.java:1766) at java.io.ObjectOutputStream.<init>(ObjectOutputStream.java:246) at jNewClientProject.ClientIOChannel.<init>(ClientIOChannel.java:45) at jNewClientProject.Main.jButtonConnectMouseReleased(Main.java:98) at jNewClientProject.Main.access{parsed_message}0(Main.java:13) at jNewClientProject.Main.mouseReleased(Main.java:46) at java.awt.AWTEventMulticaster.mouseReleased(AWTEventMulticaster.java:290) at java.awt.Component.processMouseEvent(Component.java:6505) at javax.swing.JComponent.processMouseEvent(JComponent.java:3321) at java.awt.Component.processEvent(Component.java:6270) at java.awt.Container.processEvent(Container.java:2229) at java.awt.Component.dispatchEventImpl(Component.java:4861) at java.awt.Container.dispatchEventImpl(Container.java:2287) at java.awt.Component.dispatchEvent(Component.java:4687) at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4832) at java.awt.LightweightDispatcher.processMouseEvent(Container.java:4492) at java.awt.LightweightDispatcher.dispatchEvent(Container.java:4422) at java.awt.Container.dispatchEventImpl(Container.java:2273) at java.awt.Window.dispatchEventImpl(Window.java:2713) at java.awt.Component.dispatchEvent(Component.java:4687) at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:707) at java.awt.EventQueue.access{parsed_message}0(EventQueue.java:101) at java.awt.EventQueue.run(EventQueue.java:666) at java.awt.EventQueue.run(EventQueue.java:664)
fatemi sapere presto.grazie
0(Main.java:13) at jNewClientProject.Main.mouseReleased(Main.java:46) at java.awt.AWTEventMulticaster.mouseReleased(AWTEventMulticaster.java:290) at java.awt.Component.processMouseEvent(Component.java:6505) at javax.swing.JComponent.processMouseEvent(JComponent.java:3321) at java.awt.Component.processEvent(Component.java:6270) at java.awt.Container.processEvent(Container.java:2229) at java.awt.Component.dispatchEventImpl(Component.java:4861) at java.awt.Container.dispatchEventImpl(Container.java:2287) at java.awt.Component.dispatchEvent(Component.java:4687) at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4832) at java.awt.LightweightDispatcher.processMouseEvent(Container.java:4492) at java.awt.LightweightDispatcher.dispatchEvent(Container.java:4422) at java.awt.Container.dispatchEventImpl(Container.java:2273) at java.awt.Window.dispatchEventImpl(Window.java:2713) at java.awt.Component.dispatchEvent(Component.java:4687) at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:707) at java.awt.EventQueue.accesssalve a tutti...Vorrei porvi un problema stranissimo.
dopo aver definito la classe Server .....ServerSocket server=new ServerSocket(port); public static List<Client> clientlist; for(;;){ Socket s=server.accept(); ServerIOChannel channel=new ServerIOChannel(s); channel.start(); }
....la classe ....public class ServerIOChannel implements Runnable(){ private Socket sock; private ObjectOutputStream oos; private ObjectIntputStream ois; private boolean running=false; public ServerIOChannel(Socket sock) throws Exception{ this.sock=sock; ois=new ObjectInputStream(this.sock.getInputStream()); oos=new ObjectOutputStream(this.sock.getOutputStream()); Thread t=new Thread(this); t.start(); } @Override public void run(){ running=true; while(running){ String receivedline=(String) ois.readObject(); if(receivedline.equals("sendsSerializedObject"){ oos.writeObject(Server.list); oos.flush(); } } } }
e le classi [Client] e [ClientIOChannel implements runnable] ---> allo stesso modo
ho notato che quando il client si logga al server va tutto bene ma dopo pochi secondi entra in crash si blocca tutta l'interfaccia grafica.. ho provato ad usare dopo la classe DataOutputStream e DataInputStream e non si blocca..come mai ? come potrei risolvere questo problema..ho necessità di usare l ObjectOutputStream per trasferire oggetti...
Questo è l'errore che mi visualizza:
java.net.SocketException: Connection reset impossibile leggere e scrivere Connection reset by peer: socket write error at java.net.SocketInputStream.read(SocketInputStream.java:189) at java.net.SocketInputStream.read(SocketInputStream.java:121) at java.io.DataInputStream.read(DataInputStream.java:149) at java.io.ObjectInputStream$PeekInputStream.read(ObjectInputStream.java:2283) at java.io.ObjectInputStream$PeekInputStream.readFully(ObjectInputStream.java:2296) at java.io.ObjectInputStream$BlockDataInputStream.readShort(ObjectInputStream.java:2767) at java.io.ObjectInputStream.readStreamHeader(ObjectInputStream.java:798) at java.io.ObjectInputStream.<init>(ObjectInputStream.java:298) at jNewClientProject.ClientIOChannel.<init>(ClientIOChannel.java:38) at jNewClientProject.Main.jButtonConnectMouseReleased(Main.java:98) at jNewClientProject.Main.access{parsed_message}0(Main.java:13) at jNewClientProject.Main.mouseReleased(Main.java:46) at java.awt.AWTEventMulticaster.mouseReleased(AWTEventMulticaster.java:290) at java.awt.Component.processMouseEvent(Component.java:6505) at javax.swing.JComponent.processMouseEvent(JComponent.java:3321) at java.awt.Component.processEvent(Component.java:6270) at java.awt.Container.processEvent(Container.java:2229) at java.awt.Component.dispatchEventImpl(Component.java:4861) at java.awt.Container.dispatchEventImpl(Container.java:2287) at java.awt.Component.dispatchEvent(Component.java:4687) at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4832) at java.awt.LightweightDispatcher.processMouseEvent(Container.java:4492) at java.awt.LightweightDispatcher.dispatchEvent(Container.java:4422) at java.awt.Container.dispatchEventImpl(Container.java:2273) at java.awt.Window.dispatchEventImpl(Window.java:2713) at java.awt.Component.dispatchEvent(Component.java:4687) at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:707) at java.awt.EventQueue.access{parsed_message}0(EventQueue.java:101) at java.awt.EventQueue.run(EventQueue.java:666) at java.awt.EventQueue.run(EventQueue.java:664) at java.security.AccessController.doPrivileged(Native Method) at java.security.ProtectionDomain.doIntersectionPrivilege(ProtectionDomain.java:76) at java.security.ProtectionDomain.doIntersectionPrivilege(ProtectionDomain.java:87) at java.awt.EventQueue.run(EventQueue.java:680) at java.awt.EventQueue.run(EventQueue.java:678) at java.security.AccessController.doPrivileged(Native Method) at java.security.ProtectionDomain.doIntersectionPrivilege(ProtectionDomain.java:76) at java.awt.EventQueue.dispatchEvent(EventQueue.java:677) at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:211) at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:128) at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:117) at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:113) at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:105) at java.awt.EventDispatchThread.run(EventDispatchThread.java:90) java.net.SocketException: Connection reset by peer: socket write error at java.net.SocketOutputStream.socketWrite0(Native Method) at java.net.SocketOutputStream.socketWrite(SocketOutputStream.java:109) at java.net.SocketOutputStream.write(SocketOutputStream.java:153) at java.io.DataOutputStream.write(DataOutputStream.java:107) at java.io.ObjectOutputStream$BlockDataOutputStream.drain(ObjectOutputStream.java:1857) at java.io.ObjectOutputStream$BlockDataOutputStream.setBlockDataMode(ObjectOutputStream.java:1766) at java.io.ObjectOutputStream.<init>(ObjectOutputStream.java:246) at jNewClientProject.ClientIOChannel.<init>(ClientIOChannel.java:45) at jNewClientProject.Main.jButtonConnectMouseReleased(Main.java:98) at jNewClientProject.Main.access{parsed_message}0(Main.java:13) at jNewClientProject.Main.mouseReleased(Main.java:46) at java.awt.AWTEventMulticaster.mouseReleased(AWTEventMulticaster.java:290) at java.awt.Component.processMouseEvent(Component.java:6505) at javax.swing.JComponent.processMouseEvent(JComponent.java:3321) at java.awt.Component.processEvent(Component.java:6270) at java.awt.Container.processEvent(Container.java:2229) at java.awt.Component.dispatchEventImpl(Component.java:4861) at java.awt.Container.dispatchEventImpl(Container.java:2287) at java.awt.Component.dispatchEvent(Component.java:4687) at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4832) at java.awt.LightweightDispatcher.processMouseEvent(Container.java:4492) at java.awt.LightweightDispatcher.dispatchEvent(Container.java:4422) at java.awt.Container.dispatchEventImpl(Container.java:2273) at java.awt.Window.dispatchEventImpl(Window.java:2713) at java.awt.Component.dispatchEvent(Component.java:4687) at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:707) at java.awt.EventQueue.access{parsed_message}0(EventQueue.java:101) at java.awt.EventQueue.run(EventQueue.java:666) at java.awt.EventQueue.run(EventQueue.java:664)
fatemi sapere presto.grazie
0(EventQueue.java:101) at java.awt.EventQueue.run(EventQueue.java:666) at java.awt.EventQueue.run(EventQueue.java:664) at java.security.AccessController.doPrivileged(Native Method) at java.security.ProtectionDomain.doIntersectionPrivilege(ProtectionDomain.java:76) at java.security.ProtectionDomain.doIntersectionPrivilege(ProtectionDomain.java:87) at java.awt.EventQueue.run(EventQueue.java:680) at java.awt.EventQueue.run(EventQueue.java:678) at java.security.AccessController.doPrivileged(Native Method) at java.security.ProtectionDomain.doIntersectionPrivilege(ProtectionDomain.java:76) at java.awt.EventQueue.dispatchEvent(EventQueue.java:677) at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:211) at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:128) at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:117) at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:113) at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:105) at java.awt.EventDispatchThread.run(EventDispatchThread.java:90) java.net.SocketException: Connection reset by peer: socket write error at java.net.SocketOutputStream.socketWrite0(Native Method) at java.net.SocketOutputStream.socketWrite(SocketOutputStream.java:109) at java.net.SocketOutputStream.write(SocketOutputStream.java:153) at java.io.DataOutputStream.write(DataOutputStream.java:107) at java.io.ObjectOutputStream$BlockDataOutputStream.drain(ObjectOutputStream.java:1857) at java.io.ObjectOutputStream$BlockDataOutputStream.setBlockDataMode(ObjectOutputStream.java:1766) at java.io.ObjectOutputStream.<init>(ObjectOutputStream.java:246) at jNewClientProject.ClientIOChannel.<init>(ClientIOChannel.java:45) at jNewClientProject.Main.jButtonConnectMouseReleased(Main.java:98) at jNewClientProject.Main.accesssalve a tutti...Vorrei porvi un problema stranissimo.
dopo aver definito la classe Server .....ServerSocket server=new ServerSocket(port); public static List<Client> clientlist; for(;;){ Socket s=server.accept(); ServerIOChannel channel=new ServerIOChannel(s); channel.start(); }
....la classe ....public class ServerIOChannel implements Runnable(){ private Socket sock; private ObjectOutputStream oos; private ObjectIntputStream ois; private boolean running=false; public ServerIOChannel(Socket sock) throws Exception{ this.sock=sock; ois=new ObjectInputStream(this.sock.getInputStream()); oos=new ObjectOutputStream(this.sock.getOutputStream()); Thread t=new Thread(this); t.start(); } @Override public void run(){ running=true; while(running){ String receivedline=(String) ois.readObject(); if(receivedline.equals("sendsSerializedObject"){ oos.writeObject(Server.list); oos.flush(); } } } }
e le classi [Client] e [ClientIOChannel implements runnable] ---> allo stesso modo
ho notato che quando il client si logga al server va tutto bene ma dopo pochi secondi entra in crash si blocca tutta l'interfaccia grafica.. ho provato ad usare dopo la classe DataOutputStream e DataInputStream e non si blocca..come mai ? come potrei risolvere questo problema..ho necessità di usare l ObjectOutputStream per trasferire oggetti...
Questo è l'errore che mi visualizza:
java.net.SocketException: Connection reset impossibile leggere e scrivere Connection reset by peer: socket write error at java.net.SocketInputStream.read(SocketInputStream.java:189) at java.net.SocketInputStream.read(SocketInputStream.java:121) at java.io.DataInputStream.read(DataInputStream.java:149) at java.io.ObjectInputStream$PeekInputStream.read(ObjectInputStream.java:2283) at java.io.ObjectInputStream$PeekInputStream.readFully(ObjectInputStream.java:2296) at java.io.ObjectInputStream$BlockDataInputStream.readShort(ObjectInputStream.java:2767) at java.io.ObjectInputStream.readStreamHeader(ObjectInputStream.java:798) at java.io.ObjectInputStream.<init>(ObjectInputStream.java:298) at jNewClientProject.ClientIOChannel.<init>(ClientIOChannel.java:38) at jNewClientProject.Main.jButtonConnectMouseReleased(Main.java:98) at jNewClientProject.Main.access{parsed_message}0(Main.java:13) at jNewClientProject.Main.mouseReleased(Main.java:46) at java.awt.AWTEventMulticaster.mouseReleased(AWTEventMulticaster.java:290) at java.awt.Component.processMouseEvent(Component.java:6505) at javax.swing.JComponent.processMouseEvent(JComponent.java:3321) at java.awt.Component.processEvent(Component.java:6270) at java.awt.Container.processEvent(Container.java:2229) at java.awt.Component.dispatchEventImpl(Component.java:4861) at java.awt.Container.dispatchEventImpl(Container.java:2287) at java.awt.Component.dispatchEvent(Component.java:4687) at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4832) at java.awt.LightweightDispatcher.processMouseEvent(Container.java:4492) at java.awt.LightweightDispatcher.dispatchEvent(Container.java:4422) at java.awt.Container.dispatchEventImpl(Container.java:2273) at java.awt.Window.dispatchEventImpl(Window.java:2713) at java.awt.Component.dispatchEvent(Component.java:4687) at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:707) at java.awt.EventQueue.access{parsed_message}0(EventQueue.java:101) at java.awt.EventQueue.run(EventQueue.java:666) at java.awt.EventQueue.run(EventQueue.java:664) at java.security.AccessController.doPrivileged(Native Method) at java.security.ProtectionDomain.doIntersectionPrivilege(ProtectionDomain.java:76) at java.security.ProtectionDomain.doIntersectionPrivilege(ProtectionDomain.java:87) at java.awt.EventQueue.run(EventQueue.java:680) at java.awt.EventQueue.run(EventQueue.java:678) at java.security.AccessController.doPrivileged(Native Method) at java.security.ProtectionDomain.doIntersectionPrivilege(ProtectionDomain.java:76) at java.awt.EventQueue.dispatchEvent(EventQueue.java:677) at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:211) at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:128) at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:117) at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:113) at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:105) at java.awt.EventDispatchThread.run(EventDispatchThread.java:90) java.net.SocketException: Connection reset by peer: socket write error at java.net.SocketOutputStream.socketWrite0(Native Method) at java.net.SocketOutputStream.socketWrite(SocketOutputStream.java:109) at java.net.SocketOutputStream.write(SocketOutputStream.java:153) at java.io.DataOutputStream.write(DataOutputStream.java:107) at java.io.ObjectOutputStream$BlockDataOutputStream.drain(ObjectOutputStream.java:1857) at java.io.ObjectOutputStream$BlockDataOutputStream.setBlockDataMode(ObjectOutputStream.java:1766) at java.io.ObjectOutputStream.<init>(ObjectOutputStream.java:246) at jNewClientProject.ClientIOChannel.<init>(ClientIOChannel.java:45) at jNewClientProject.Main.jButtonConnectMouseReleased(Main.java:98) at jNewClientProject.Main.access{parsed_message}0(Main.java:13) at jNewClientProject.Main.mouseReleased(Main.java:46) at java.awt.AWTEventMulticaster.mouseReleased(AWTEventMulticaster.java:290) at java.awt.Component.processMouseEvent(Component.java:6505) at javax.swing.JComponent.processMouseEvent(JComponent.java:3321) at java.awt.Component.processEvent(Component.java:6270) at java.awt.Container.processEvent(Container.java:2229) at java.awt.Component.dispatchEventImpl(Component.java:4861) at java.awt.Container.dispatchEventImpl(Container.java:2287) at java.awt.Component.dispatchEvent(Component.java:4687) at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4832) at java.awt.LightweightDispatcher.processMouseEvent(Container.java:4492) at java.awt.LightweightDispatcher.dispatchEvent(Container.java:4422) at java.awt.Container.dispatchEventImpl(Container.java:2273) at java.awt.Window.dispatchEventImpl(Window.java:2713) at java.awt.Component.dispatchEvent(Component.java:4687) at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:707) at java.awt.EventQueue.access{parsed_message}0(EventQueue.java:101) at java.awt.EventQueue.run(EventQueue.java:666) at java.awt.EventQueue.run(EventQueue.java:664)
fatemi sapere presto.grazie
0(Main.java:13) at jNewClientProject.Main.mouseReleased(Main.java:46) at java.awt.AWTEventMulticaster.mouseReleased(AWTEventMulticaster.java:290) at java.awt.Component.processMouseEvent(Component.java:6505) at javax.swing.JComponent.processMouseEvent(JComponent.java:3321) at java.awt.Component.processEvent(Component.java:6270) at java.awt.Container.processEvent(Container.java:2229) at java.awt.Component.dispatchEventImpl(Component.java:4861) at java.awt.Container.dispatchEventImpl(Container.java:2287) at java.awt.Component.dispatchEvent(Component.java:4687) at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4832) at java.awt.LightweightDispatcher.processMouseEvent(Container.java:4492) at java.awt.LightweightDispatcher.dispatchEvent(Container.java:4422) at java.awt.Container.dispatchEventImpl(Container.java:2273) at java.awt.Window.dispatchEventImpl(Window.java:2713) at java.awt.Component.dispatchEvent(Component.java:4687) at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:707) at java.awt.EventQueue.accesssalve a tutti...Vorrei porvi un problema stranissimo.
dopo aver definito la classe Server .....ServerSocket server=new ServerSocket(port); public static List<Client> clientlist; for(;;){ Socket s=server.accept(); ServerIOChannel channel=new ServerIOChannel(s); channel.start(); }
....la classe ....public class ServerIOChannel implements Runnable(){ private Socket sock; private ObjectOutputStream oos; private ObjectIntputStream ois; private boolean running=false; public ServerIOChannel(Socket sock) throws Exception{ this.sock=sock; ois=new ObjectInputStream(this.sock.getInputStream()); oos=new ObjectOutputStream(this.sock.getOutputStream()); Thread t=new Thread(this); t.start(); } @Override public void run(){ running=true; while(running){ String receivedline=(String) ois.readObject(); if(receivedline.equals("sendsSerializedObject"){ oos.writeObject(Server.list); oos.flush(); } } } }
e le classi [Client] e [ClientIOChannel implements runnable] ---> allo stesso modo
ho notato che quando il client si logga al server va tutto bene ma dopo pochi secondi entra in crash si blocca tutta l'interfaccia grafica.. ho provato ad usare dopo la classe DataOutputStream e DataInputStream e non si blocca..come mai ? come potrei risolvere questo problema..ho necessità di usare l ObjectOutputStream per trasferire oggetti...
Questo è l'errore che mi visualizza:
java.net.SocketException: Connection reset impossibile leggere e scrivere Connection reset by peer: socket write error at java.net.SocketInputStream.read(SocketInputStream.java:189) at java.net.SocketInputStream.read(SocketInputStream.java:121) at java.io.DataInputStream.read(DataInputStream.java:149) at java.io.ObjectInputStream$PeekInputStream.read(ObjectInputStream.java:2283) at java.io.ObjectInputStream$PeekInputStream.readFully(ObjectInputStream.java:2296) at java.io.ObjectInputStream$BlockDataInputStream.readShort(ObjectInputStream.java:2767) at java.io.ObjectInputStream.readStreamHeader(ObjectInputStream.java:798) at java.io.ObjectInputStream.<init>(ObjectInputStream.java:298) at jNewClientProject.ClientIOChannel.<init>(ClientIOChannel.java:38) at jNewClientProject.Main.jButtonConnectMouseReleased(Main.java:98) at jNewClientProject.Main.access{parsed_message}0(Main.java:13) at jNewClientProject.Main.mouseReleased(Main.java:46) at java.awt.AWTEventMulticaster.mouseReleased(AWTEventMulticaster.java:290) at java.awt.Component.processMouseEvent(Component.java:6505) at javax.swing.JComponent.processMouseEvent(JComponent.java:3321) at java.awt.Component.processEvent(Component.java:6270) at java.awt.Container.processEvent(Container.java:2229) at java.awt.Component.dispatchEventImpl(Component.java:4861) at java.awt.Container.dispatchEventImpl(Container.java:2287) at java.awt.Component.dispatchEvent(Component.java:4687) at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4832) at java.awt.LightweightDispatcher.processMouseEvent(Container.java:4492) at java.awt.LightweightDispatcher.dispatchEvent(Container.java:4422) at java.awt.Container.dispatchEventImpl(Container.java:2273) at java.awt.Window.dispatchEventImpl(Window.java:2713) at java.awt.Component.dispatchEvent(Component.java:4687) at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:707) at java.awt.EventQueue.access{parsed_message}0(EventQueue.java:101) at java.awt.EventQueue.run(EventQueue.java:666) at java.awt.EventQueue.run(EventQueue.java:664) at java.security.AccessController.doPrivileged(Native Method) at java.security.ProtectionDomain.doIntersectionPrivilege(ProtectionDomain.java:76) at java.security.ProtectionDomain.doIntersectionPrivilege(ProtectionDomain.java:87) at java.awt.EventQueue.run(EventQueue.java:680) at java.awt.EventQueue.run(EventQueue.java:678) at java.security.AccessController.doPrivileged(Native Method) at java.security.ProtectionDomain.doIntersectionPrivilege(ProtectionDomain.java:76) at java.awt.EventQueue.dispatchEvent(EventQueue.java:677) at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:211) at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:128) at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:117) at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:113) at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:105) at java.awt.EventDispatchThread.run(EventDispatchThread.java:90) java.net.SocketException: Connection reset by peer: socket write error at java.net.SocketOutputStream.socketWrite0(Native Method) at java.net.SocketOutputStream.socketWrite(SocketOutputStream.java:109) at java.net.SocketOutputStream.write(SocketOutputStream.java:153) at java.io.DataOutputStream.write(DataOutputStream.java:107) at java.io.ObjectOutputStream$BlockDataOutputStream.drain(ObjectOutputStream.java:1857) at java.io.ObjectOutputStream$BlockDataOutputStream.setBlockDataMode(ObjectOutputStream.java:1766) at java.io.ObjectOutputStream.<init>(ObjectOutputStream.java:246) at jNewClientProject.ClientIOChannel.<init>(ClientIOChannel.java:45) at jNewClientProject.Main.jButtonConnectMouseReleased(Main.java:98) at jNewClientProject.Main.access{parsed_message}0(Main.java:13) at jNewClientProject.Main.mouseReleased(Main.java:46) at java.awt.AWTEventMulticaster.mouseReleased(AWTEventMulticaster.java:290) at java.awt.Component.processMouseEvent(Component.java:6505) at javax.swing.JComponent.processMouseEvent(JComponent.java:3321) at java.awt.Component.processEvent(Component.java:6270) at java.awt.Container.processEvent(Container.java:2229) at java.awt.Component.dispatchEventImpl(Component.java:4861) at java.awt.Container.dispatchEventImpl(Container.java:2287) at java.awt.Component.dispatchEvent(Component.java:4687) at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4832) at java.awt.LightweightDispatcher.processMouseEvent(Container.java:4492) at java.awt.LightweightDispatcher.dispatchEvent(Container.java:4422) at java.awt.Container.dispatchEventImpl(Container.java:2273) at java.awt.Window.dispatchEventImpl(Window.java:2713) at java.awt.Component.dispatchEvent(Component.java:4687) at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:707) at java.awt.EventQueue.access{parsed_message}0(EventQueue.java:101) at java.awt.EventQueue.run(EventQueue.java:666) at java.awt.EventQueue.run(EventQueue.java:664)
fatemi sapere presto.grazie
0(EventQueue.java:101) at java.awt.EventQueue.run(EventQueue.java:666) at java.awt.EventQueue.run(EventQueue.java:664)
fatemi sapere presto.grazie
Ultima modifica effettuata da killer 12/02/12 19:10
aaa