Avevo un'applicazione stand-alone (lato client) che comunicava con un server (in locale sulla stessa macchina per test) e andava tutto ok. Adesso il client è una Applet con gui, la connessione tra client e server va a buon fine ma il problema sorge quando cerco di fare un operazione di scrittura sullo stream in out del client, ad esempio un operazione banale:ho una nullPointerException... Non riesco a capire dove sia il problema poichè la connessione avviene e il codice è identico(con le opportune modifiche) a quello che avevo in precedenza, quando ancora non era un applet. Quindi mi viene spontaneo pensare che mi manchi qualcosa per il fatto che ora ho a che fare con una applet -ma non ne sono sicuro- che abbia qualcosa a che fare con i limiti di scrittura/lettura delle applet?codice:out.writeObject(new Integer(1));
EDIT: Scusate, forse dovrei dormire di più, ho risolto. Mi è venuto in mente di controllare una cosa appena ho inviato il post. Lol.
Per non buttare completamente questo topic, pongo un'altra domanda:
Sempre la stessa applet di cui sopra, quando provo ad eseguirla tramite file html non viene visualizzata e ho una serie di errori:
il codice html che uso:codice:addr = /127.0.0.1 java.lang.reflect.InvocationTargetException at com.sun.deploy.util.DeployAWTUtil.invokeAndWait(DeployAWTUtil.java:116) at sun.plugin2.applet.Plugin2Manager.runOnEDT(Plugin2Manager.java:3415) at sun.plugin2.applet.Plugin2Manager.createApplet(Plugin2Manager.java:2967) at sun.plugin2.applet.Plugin2Manager$AppletExecutionRunnable.run(Plugin2Manager.java:1444) at java.lang.Thread.run(Thread.java:619) Caused by: java.security.AccessControlException: access denied (java.net.SocketPermission 127.0.0.1:8080 connect,resolve) at java.security.AccessControlContext.checkPermission(AccessControlContext.java:323) at java.security.AccessController.checkPermission(AccessController.java:546) at java.lang.SecurityManager.checkPermission(SecurityManager.java:532) at java.lang.SecurityManager.checkConnect(SecurityManager.java:1034) at sun.plugin2.applet.Applet2SecurityManager.checkConnect(Applet2SecurityManager.java:500) at java.net.Socket.connect(Socket.java:524) at java.net.Socket.connect(Socket.java:478) at java.net.Socket.<init>(Socket.java:375) at java.net.Socket.<init>(Socket.java:218) at JTreeApplet.initGUI(JTreeApplet.java:113) at JTreeApplet.<init>(JTreeApplet.java:93) at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:39) at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27) at java.lang.reflect.Constructor.newInstance(Constructor.java:513) at java.lang.Class.newInstance0(Class.java:355) at java.lang.Class.newInstance(Class.java:308) at sun.plugin2.applet.Plugin2Manager$12.run(Plugin2Manager.java:2955) at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:199) at java.awt.EventQueue.dispatchEvent(EventQueue.java:597) at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:269) at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:184) at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:174) at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:169) at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:161) at java.awt.EventDispatchThread.run(EventDispatchThread.java:122) Eccezione: java.lang.reflect.InvocationTargetException
Se commento la parte della connessione al server l'applet viene visualizzata correttamente...codice:<html><body><applet classpath="\PrjMAP\Client\bin" code="JTreeApplet.class" width="500" height="500" ></applet></body></html>

Rispondi quotando