Home | Contact Us | FAQ | Search & Site Map | Link to Us
Sign In | Join | Other 45 Sites in Network
HomeAnnouncementsWhite Papers
Discussion GroupsFirst AidDatabasesJavaBeansGUIJava 3DVirtual MachineCORBASecurityToolsGeneral
Java DirectoryOpen Source ProjectsSample Book ChaptersUser GroupsWeb Resources
Related Topics
Databases.NETMore Topics ...

Java Forum / General / April 2007

Tip: Looking for answers? Try searching our database.

Problem writing object from applet to server in Firefox (Linux)

Thread view: 
Duncan Jones - 04 Apr 2007 14:50 GMT
Hi,

I'm trying to write an Java applet that will send an object, via a TCP
socket, to a Java application running on the same machine.  It works
in Opera and Mozilla, but it doesn't work in Firefox - the Java
application appears to receive an incoming connection, but never
actually reads the object.

Any ideas how to resolve this problem?

Code:

/////////////////////// APPLET ////////////////////////////

import java.applet.Applet;
import java.io.BufferedOutputStream;
import java.io.ObjectOutputStream;
import java.net.Socket;

public class AppletClient extends Applet {

   private Socket socket;
   private ObjectOutputStream oos;

   public void start() {
       System.out.println("Hello there!");
       try {
           String host = getCodeBase().getHost();
           socket = new Socket("127.0.0.1", 55000);
           oos = new ObjectOutputStream(new
BufferedOutputStream(socket.getOutputStream()));
           TestObject t = new TestObject("Hello!");
           oos.writeObject(t);
           oos.flush();
           oos.close();
       }
       catch (Exception e) {
           e.printStackTrace();
       }
   }
}

/////////////////////// APPLICATION ////////////////////////////

import java.io.BufferedInputStream;
import java.io.ObjectInputStream;
import java.net.ServerSocket;
import java.net.Socket;

public class Server {

   private static ServerSocket serv;
   private static Socket sock;

   private Server() {
   }

   public static void main(String[] args) {

       try {
           serv = new ServerSocket(55000);

           System.out.println("Server listening on port " +
serv.getLocalPort());
           sock = serv.accept();
           System.out.println("Received connection: " +
sock.getInetAddress()
                                          + ":" + sock.getPort());
           ObjectInputStream ois = new ObjectInputStream(new
BufferedInputStream(sock.getInputStream()));
           System.out.println("Opened input stream.  Attemping to
read object.");
           TestObject t = (TestObject) ois.readObject();
           ois.close();

           t.print();
       }
       catch (Exception e) {
           e.printStackTrace();
       }
   }
}

/////////////////////// OBJECT TO SEND ////////////////////////////

import java.io.Serializable;

public class TestObject implements Serializable {
   private String s;

   public TestObject(String s) {
       this.s = s;
   }

   public void print() {
       System.out.println(s);
   }
}

Thanks,

Duncan Jones
Andrew T. - 04 Apr 2007 15:26 GMT
(applet)
>...It works
>in Opera and Mozilla, but it doesn't work in Firefox - the Java
>application appears to receive an incoming connection, but never
>actually reads the object.
>
>Any ideas how to resolve this problem?

You might try removing browsers from the loop,
(and will possibly get a more consistent result)
by launching the applet using Web Start.
<http://www.physci.org/jws/#jtest>

HTH

Signature

Andrew Thompson
http://www.athompson.info/andrew/

Duncan Jones - 04 Apr 2007 15:36 GMT
> (applet)
>
[quoted text clipped - 16 lines]
>
> Message posted via JavaKB.comhttp://www.javakb.com/Uwe/Forums.aspx/java-general/200704/1

Sadly, this HAS to occur within a browser, as it's part of a larger
automated program that needs to determine when a web page has loaded...
Duncan Jones - 04 Apr 2007 22:46 GMT
> > (applet)
>
[quoted text clipped - 19 lines]
> Sadly, this HAS to occur within a browser, as it's part of a larger
> automated program that needs to determine when a web page has loaded...

For whatever reason, this problem seems to have fixed itself.  Which
naturally worries me a bit, but I'll just cross my fingers and see...


Free Magazines

Get these publications absolutely FREE for up to 12 months. There are no hidden fees and no obligation. Simply choose a title, complete the application form and submit it. Read more ...

Oracle MagazineNetwork ComputingComputer WorldBio-IT WorldeWeekInformation WeekInfosecurity
 
Sign In
Join
My Latest Posts
My Monitored Threads
My Blog
My Photo Gallery
My Profile
My Homepage

Start New Thread
Enable EMail Alerts
Rate this Thread



©2008 Advenet LLC   Privacy Policy - Terms of Use
This website includes both content owned or controlled by Advenet as well as content owned or controlled by third parties.