Java applets in a browser, and Serial port input

I know that there is a special package for serial port input in java. (java.Comm.SerialPort)
What I am trying to figure out before a final decision on design is made, is if there is anyway of reading serial port input into a java applet that is running inside of a browser.
I have found lots of reference to Serial port input, but nothing that really goes in the direction that I am lookind for.
Any little tid bits of information pertaining to this would be greatly appreciated.
Cuervo

You should also consider that applets are not allowed to access their client system's hardware without being signed; in other words, the user must agree (by clicking a button) to disable the applet security features. Why would you use an applet to do this? Applets are meant to be an extension of a website. You should use an application in this situation.

Similar Messages

  • Java applet freeze completly browser

    Hi there
    Ive created a smalle board game in an ASP / Javascript page. The game is multiplayer and i connect everybody via an java applet to a java server.
    Well, it look like this :
    ASP / Javascript --> Applet --> JavaServer --> Applet --> ASP / javascript
    The game is just fine and completly functionnal. The problem is : We just brought in some video for the players who have Webcams. And those video freeze when the applet is waiting a response from the server. Is there anyway that the applet does not freeze the whole browser so that the video continu playing even if the game is waiting?
    the main window contain 2 sections, �video & chat� and the game. The game containt a few frames with one of them containing the applet. In the java applet, im using BufferedReader and PrintWriter with AppletSocket to communicate with the server.
    Im not sure if i have made myself clear, if not, tell me, ill try to make it clearer.
    Thanks in advance
    Marc
    P.S. sorry for my english

    There maybe some code will help most of you to understand better my problem.
    Here's the function in my asp pages that wait for the applet response.
    function AttendreReponse()
         AppletConnect.Recevoir();
         GererRecevoir();
    }The javascript function 'GererRecevoir()' get the code that was sent by the server, analyse it and then, do run the proper function so the game can go on normally..
    And here's the java function 'Recevoir()' in the applet
    public void Recevoir()
      // String received from the server
      String fromServer = "";
      this.paramTransaction = "";
      this.codeTransaction ="";
      try{
        // Reads the string received
        fromServer = this.in.readLine();
        if(fromServer != null)
          this.codeTransaction = fromServer.substring(0,2);
          if(fromServer.length() > 2){
            this.paramTransaction = fromServer.substring(2); //retrieve the 2 next ^^
      // Applet dosent receive anything anymore from the server
      catch (IOException e){
        System.out.println("Le serveur n'est plus en fonction");
        System.exit(1);
    }So the main problem is that the applet freeze the whole window then ge gets to : fromServer = this.in.readLine();
    He wait until he get a response or untill he timeout.
    What I would like, is that the applet does not freeze the whole window while waiting since videoconference, chatting and sound arent very usefull if you can use them 3/4 of the time.
    I hope this helped you to understand a little bit more.
    Thanks again
    Marc

  • How can collect the data from laptop sound card and serial port at the same time?

    I'm working on a project, I need to collect the data from laptop sound card, and also from serial port at the same time.
    The attachments are my VIs for sound card and serial port communication, I'm wondering that can I combine these two VIs together? Or can I run these two VI at the same time?
    Thank you!
    Attachments:
    AC_Radar_Receive.vi ‏46 KB
    RadarAudioPlug.vi ‏774 KB

    A smarter way is just to put all your code in the same VI.
    Two parallel loops if rates are different.
    Attachments:
    RadarAudioPlug.vi ‏450 KB

  • GPIB and serial port communication errors via an executalbe file.

    I have a data acquisition program that communicates with instruments via the serial port and GPIB bus. When I create an executable file and run it on another PC I get GPIB and serial port errors when the program tries to initialize these ports. Are there additional vi's I need to include when I build the executable?

    When you installed the GPIB board on the other pc, did you install just NI-GPIB? Did you configure the GPIB board? You also need NI-VISA if your're using VISA calls in your program. You can either install the full NI-VISA or just the run-time version.

  • Java and serial ports

    i want to be able to use java to access my serial port to
    remote dial other systems....

    Download javax.comm from the Sun website and use that.
    http://java.sun.com/products/javacomm/index.html
    Follow the install instructions VERY carefully .

  • Java program to receive byte from serial port

    hello everyone, i am recently working one a project which require communication between pic16f877 and PC. My pic continuiously measure a voltage and send the result (a byte ranging from 0 to 255) to the rs232 port. One the pc side, my java program keep reading the serial port and it works for values 0~127 and 160~255. But if the byte value is between 127 and 160, it cannot received correctly, i get something like 375,8224,or even 65532 etc(no obvious path but more likely to be 300+,700+,8000+ or 65500+). I have been trying very hard to solve this and i think the problem is due to the pc software. I am feeling so frustrated and any suggestion will be much appreciated.
    p.s. : i used Bufferedreader.read() in my program
    --mengyao                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                       

    fumengyao wrote:
    hello everyone, i am recently working one a project which require communication between pic16f877 and PC. My pic continuiously measure a voltage and send the result (a byte ranging from 0 to 255) to the rs232 port. One the pc side, my java program keep reading the serial port and it works for values 0~127 and 160~255. But if the byte value is between 127 and 160, it cannot received correctly, i get something like 375,8224,or even 65532 etc(no obvious path but more likely to be 300+,700+,8000+ or 65500+). I have been trying very hard to solve this and i think the problem is due to the pc software. I am feeling so frustrated and any suggestion will be much appreciated.
    p.s. : i used Bufferedreader.read() in my program
    --mengyaothis may not matter in your case - but don't use a Reader, use a Stream (BufferedInputStream maybe)

  • Trouble loading java-applet from within browser

    hello,
              I'm kinda new to Java-applets and to Weblogic and consequently I've run
              into a problem. I'm having difficulties deploying an applet in a
              war-archive. My archive structure looks like this:
              --root of .war
              --index.jsp
              --WEB-INF
              --classes
              --test
              --testapplet.class
              my code to load the applet in my index.jsp file looks like this:
              <applet
              codebase = "http://localhost:7001/WebModule/WEB-INF/classes"
              code = "test.testapplet.class"
              name = "TestApplet"
              width = "400"
              height = "300"
              hspace = "0"
              vspace = "0"
              align = "middle"
              >
              </applet>
              Unfortunately the class is not found by the browser producing a
              ClassNotFoundException. I use Weblogic 8.1SP2 and Mozilla 1.6, both
              using J2SDK(JRE) 1.4.2-03. My IDE is Borland JBuilder X Weblogic edition
              and my host-OS is Gentoo-Linux.
              Can anyone point out what's my mistake?
              Thx in advance
              Nic
              

    Ok, thanks. I didn't know that.
              Nic
              Robert Greig wrote:
              > nkalkhof wrote:
              >
              >> Can anyone point out what's my mistake?
              >
              >
              > Code in WEB-INF/classes is loaded by the container for execution on the
              > server. It is not in the docroot, so is not accessible to the client.
              >
              > Move the classes into the docroot (i.e. the same level you'd put gifs or
              > html pages).
              >
              > See http://java.sun.com/docs/books/tutorial/applet/index.html for some
              > examples.
              >
              > Robert
              

  • Unable to connect to SRW224P via web base and serial port on the front until reboot switch

    Just installed new SRW224P switch 4 days ago and we lose connectivy to the SRW224P manage switch. Try to Web in to device and also direct serial port unable to get connected, reboot and it works for a little bit but then we loose connectivity again. Also the computers connected to the switch loose their IP address and sometimes unable to get a DHCP address assigned back from are server.
    Any suggestions?
    (Edited for guideline compliance.Thanks!)Message Edited by JOHNDOE_06 on 05-14-2007 09:20 AM

    I ended up doing a replacement with linksys, the new one has been in place for 2 weeks and it seems to be running ok.

  • Java bean to get information from serial port

    we are migrating from 6i to 10g. In 6i, we used mscomm32.ocx to access to com port. Now in 10g we need a java bean. Anybody has a java bean to access to serial port or anything similar?
    My email is [email protected]
    Thanks in advance.

    we set properties to the serial port, open the port, read (listen) from port, ... Here there are some pieces of code to you see it:
    -- Si está abierto el puerto puedo leer
    IF (MsCommLib_ImsComm.PortOpen(:ITEM('IF_OCX_COM').INTERFACE)=-1) THEN
    -- Miro si hay caracteres
    a:=MsCommLib_ImsComm.InBufferCount(:ITEM('IF_OCX_COM').INTERFACE);
    IF a>0 THEN
    set_item_property('COMUNICACION_ICS.ESPERA',DISPLAYED,PROPERTY_FALSE);
    --Datos de un bloque nuevo, hay que insertar la fecha
    IF :global.estado = 0 THEN
    --Leo la fecha en la que se ha leído los datos
    --SELECT SYSDATE INTO fecha
    --FROM DUAL;   
    fecha := To_Date(:System.Current_Datetime,'dd-mon-yyyy hh24:mi:ss');
    -- Borro la pantalla si hay mas de 1920 caracteres
    :global.tc := :global.tc + 21;
    IF :global.tc > 1920 then
    :comunicacion_ics.if_txt_com_rec :='';
    :global.tc := 0;
    end if;
    --Introduzco la fecha en el control de texto, para su posterior proceso
    :comunicacion_ics.if_txt_com_rec := :comunicacion_ics.if_txt_com_rec||CHR(10)
    ||'__' || To_Char(fecha,'DD-MM-YYYY,HH24:Mi:SS')||chr(10);
    guarda := Fichero.Escribe(:global.fic,CHR(10)||'__' || To_Char(fecha,'DD-MM-YYYY,HH24:Mi:SS')
    ||chr(10));
    if guarda < 0 then
    raise e;
    end if;
    END IF;
    -- Indico que se están recibiendo datos de este bloque
    :global.estado := 2;
    --Leo la cadena
    linea_ics := Var_To_Char(MsCommLib_ImsComm.Input(:item('IF_OCX_COM').INTERFACE));
    linea_ics := replace(linea_ics,chr(13),CHR(10)); -- CHR(10)
    --La añado al control de texto para que se vea
    -- Borro la pantalla si hay mas de 1920 caracteres
    :global.tc := :global.tc + a;
    IF :global.tc > 1920 then
    :comunicacion_ics.if_txt_com_rec :='';
    :global.tc := 0;
    end if;
    :comunicacion_ics.if_txt_com_rec := :comunicacion_ics.if_txt_com_rec||
    linea_ics;
    --Escribo la linea en el fichero
    -- Propiedades de Buffers
    -- Tamaño del Buffer de Entrada
    :prop_com.txt_in_buf := MsCommLib_ImsComm.InBufferSize(:ITEM('IF_OCX_COM').INTERFACE);
    -- Tamaño del Buffer de Salida
    :prop_com.txt_out_buf := MsCommLib_ImsComm.OutBufferSize(:ITEM('IF_OCX_COM').INTERFACE);
    -- Tamaño de la cadena de Entrada
    :prop_com.txt_input_len := MsCommLib_ImsComm.InputLen(:ITEM('IF_OCX_COM').INTERFACE);
    -- RThreshold
    :prop_com.txt_rthres := MsCommLib_ImsComm.RThreshold(:ITEM('IF_OCX_COM').INTERFACE);
    -- SThreshold
    :prop_com.txt_sthres := MsCommLib_ImsComm.SThreshold(:ITEM('IF_OCX_COM').INTERFACE);
    -- EOF Enable
    :prop_com.chk_eof_enable := MsCommLib_ImsComm.EOFEnable(:ITEM('IF_OCX_COM').INTERFACE);
    -- Propiedades Hardware
    -- Parity replace
    :prop_com.txt_par_repl := MsCommLib_ImsComm.ParityReplace(:ITEM('IF_OCX_COM').INTERFACE);
    -- NULL Discard
    :prop_com.chk_null_discard := MsCommLib_ImsComm.NULLDiscard(:ITEM('IF_OCX_COM').INTERFACE);
    -- RTS Enable
    :prop_com.chk_rts := MsCommLib_ImsComm.RTSEnable(:ITEM('IF_OCX_COM').INTERFACE);
    -- NULL DTR
    :prop_com.chk_dtr := MsCommLib_ImsComm.DTREnable(:ITEM('IF_OCX_COM').INTERFACE);
    Thanks. Inma

  • Java applet works in windows and does not work in linux

    Hello, guys!
    I'm working with site which is located in vpn network at work.
    I use browsers firefox 3 and opera.
    When I want to open java applet using firefox or opera at first everything is fine then on the last stage of loading(judging by progress bar) applet hangs(progress bar hangs) and when I reload page firefox shows in the bottom bar: applet <applet's name> bail.
    In windows everything works both in ie6 and firefox 3.
    On both environments I have the jre 6 installed.
    please help!

    Ok, I installed ies4linux and jre 1.5.16. I can work with that but when I start applet screen goes black and window frames dissapear.
    To solve this problem(feature?) I disabled DirectX-based acceleration for Java 2D but that works for javacpl.exe and does not work for my applet.

  • Xlet and serial port

    does anybody know if it is possible to make an active Xlet interact with an Input Stream through the serial port?
    Roughly speaking i would use the serial connection between the STB and a PC as a sort of return channel

    like Steve, Threre is no standard inputstream of serial port in DTV environment. That bounds hardware device.
    Most of case of using serial port, STB use to view log in PC. So, if STB manufactors support serial com port in low-level by c function, you shoul check it out on STB manufactors low-level API.
    Definitely, MHP does not support inputstream from serial port.

  • Serial port: Input/output signal errantly combined

    I am currently in the process of using LabView to replace another user interface for a scientific instrument.
    LabView is connected to this instrument through a serial port.  The instrument streams 25 bytes of binary data every second to the computer.  I can read the binary string (VISA Read) and save contiuously to disk using a while loop.  In addition, there are a few instructions I can send to the instrument that will do various functions (start logging, turn LEDs on/off, etc).  I can successfully send these instructions to the instrument using the previous interface, and in a stand-alone vi using VISA Write, but when I place the VISA Write function into the larger interface vi, signals go haywire.  Specifically, there are two separate LEDs that I can toggle with two different commands, but when in the larger interface vi, both commands toggle the same LED.  Also, it appears that the singal I send to the instrument (a single ASCII character) immediately bounces back to the computer into the 25 bytes of streaming binary data.  In other words, after I press the LED "on" key, one column of my streaming data changes when it is not supposed to (ex: after Binary to ASCII conversion, it changes from a single digit to a twenty digit value).
    Initially, I thought the problem was the sequence of VISA Read/Write.  In the current configuration, I read all data, then allow for Write commands.  Both the VISA functions are within the same While loop to continuously monitor the data.  Is it possible the Write signal output is not leaving the while loop and being read as input?  What would make the instrument read two different commands as the same one?  My goal is to run an interface that displays the streaming data as ASCII, and allows for a few different toggle options while the interface is running - is there are more efficient/elegant way than a while loop?
    ~Going Bananas
    Solved!
    Go to Solution.

    New replies now in gray.
    CodeMunkee wrote:
    1.  If you keep giving me good advice like this, I'll be tempted to change the background to Baltimore prison purple.
    I'll ignore this statement.
    2.  The buffer now lives outside the loop.  I understand clearly.  Part of the problem might be my instrument - when I cycle power the 19 digit number that was 'echoed' disappears.  Forget about that display stuff, it works properly - I accidentally removed the time delay when editing the vi.   But you do bring up an interesting point...
    Without the delay, the loop ran much faster.  If the bytes weren't at the port, the read statement would have returned nothing when it read zero bytes, thus blanking out the indicator rather quickly.
    Yes, Hexadecimal display shows 04 to indicate the end of the 25-byte data sample.
    Doing a bytes at port read is not always a good idea.  If not all the bytes had arrived yet when you ask for the read, you won't get all the data.  The remaining data being sent in that stream from the instrument will show up at the front of the buffer on the next read command. 
    While this isn't a common occurence, it does happen.  How can I prevent this from ever happening?
    Since you know each commands ends with a hex 04 (ASCII character for EOT), you could enable the termination character when you configure the serial port.  Set the termination character to be 4.  Then when you execute the VISA read, read a large number of bytes such as 25 or more.  The read will terminate at either the timeout, the requested number of bytes, or when the termination character is read.  With this setup, you could eliminate the wait statement and also not request the number of bytes as the port.  The VISA read will control the pacing of the loop.  Any extra bytes after the termination character are part of the next frame of data and will wait around until the next time you read the VISA port.
      3.  Implementing your ideas for the latch button works better.  I am still encountering issues with these commands however.  Attached is the new vi.  There are two commands I want to send, 't' turns on the LED light (they blink for 30 sec then time out), and the latch works perfectly for that, 'p' turns on the magnetometer light (an additional 'p' is required to turn it off), but I cannot get the command sent to the mag while the loop is running.  It turns on either at the beginning of the vi, or at the end of the vi (after Finish button is pressed).  This leads me to think the command 'p' is stuck inside the loop.  I tried adding another film strip (see attached vi) for the toggles to force the issue, but it didn't work. Additionally, the 'p' command effectively works as a 't' command, and the LED lights begin to blink when I press the 'p' button.  This isn't supposed to happen, and leads me to believe the 'p' command does in fact exit the loop but in the wrong manner.
    The "film strip" is another frame of a flat sequence structure.  It enforces the order of execution.  The next frame can't execute until everything in the prior frame has completed.  It isn't necessary in your case because the Error and VISA wires determine the order of execution with respect to the other VISA statements.  But it shouldn't hurt.
    There is no reason the "p" case structure should behave any differently than the "t" case structure.  Although you should wire the error wire through in the False case of the "p" structure like you did for the "t" structure.  There is no "exiting of the loop" in either case.  The loop runs until the stop button is pressed.  I would check the manual to see that t and p commands do what you think they should do.  Do they need a termination character of their own when they are sent?  Should they be upper case letters rather than lower case?  You can run NI Spy on your serial port and see the operations occurring with it and see the data coming in and what data is going out.  I would be suspicious that the device is not handling the command properly.
    Any ideas?  I think I've tried to put the toggle buttons outside the loop before, but then could only toggle once before the loop took over.  Ideally, these toggles would be available at any time while the data is streaming, so therefore inside the loop?
    The toggle buttons need to be within the loop so that they can be read on every iteration of the loop.  Outside the loop, as you discovered, they are only read once at the very beginning before the loop is started.
    4.  Thank you for the suggestion about the Selection Mode for the Open/Create File option.  It is annoying to create a file first.  I made the change, but I still get error messages when I use a file that does not yet exist.  LabView takes me to the first Open/Create/Replace vi when the error occurs.  Is there something else I must do?
    On the open file VI, there is an input that is Open as default when unwired.  Create a constant there and change to Replace or Create.
    Remember, if you have any questions about the way LabVIEW is handling something with serial ports, close the port within LabVIEW.  Open Hyperterminal and try the commands from there.
    Message Edited by Ravens Fan on 01-13-2009 03:55 PM

  • Java and serial port communication

    Hello,
    In my code i have parsed a file through which i have extracted the port name and baud rate .
    Now i want to open the port with this portname and baud rate.
    I have a device moxa card which has 16 port and want to open each and and read and write data into it.
    thanking you.

    RXTX seems to be a decent library for serial/parallel communication using Java.
    [http://www.rxtx.org/]

  • USB and serial port access in java

    Hi
    I have a magstripe card reader connected to my computer with a USB interface (port).
    I am using javax.comm API to get the card swipe data but could not succeeded.
    Can i do that or have to do something else ???

    ok. Below is my code:
    this is a sample code come with the API.
    package msr;
    * @author Dell
    import java.io.*;
    import java.util.*;
    import javax.comm.*;
    * Class declaration
    * @author
    * @version 1.8, 08/03/00
    public class SimpleRead implements Runnable, SerialPortEventListener {
        static CommPortIdentifier portId;
        static Enumeration           portList;
        InputStream                inputStream;
        SerialPort                serialPort;
        Thread                readThread;
         * Method declaration
         * @param args
         * @see
        public static void main(String[] args) {
        boolean                portFound = false;
        String                defaultPort = "COM3";
         if (args.length > 0) {
             defaultPort = args[0];
         portList = CommPortIdentifier.getPortIdentifiers();
         while (portList.hasMoreElements()) {
             portId = (CommPortIdentifier) portList.nextElement();
             if (portId.getPortType() == CommPortIdentifier.PORT_SERIAL) {
              if (portId.getName().equals(defaultPort)) {
                  System.out.println("Found port: "+defaultPort);
                  portFound = true;
                  SimpleRead reader = new SimpleRead();
         if (!portFound) {
             System.out.println("port " + defaultPort + " not found.");
         * Constructor declaration
         * @see
        public SimpleRead() {
         try {
             serialPort = (SerialPort) portId.open("SimpleReadApp", 2000);
         } catch (PortInUseException e) {}
         try {
             inputStream = serialPort.getInputStream();
         } catch (IOException e) {}
         try {
             serialPort.addEventListener(this);
         } catch (TooManyListenersException e) {}
         serialPort.notifyOnDataAvailable(true);
         try {
             serialPort.setSerialPortParams(9600, SerialPort.DATABITS_8,
                                SerialPort.STOPBITS_1,
                                SerialPort.PARITY_NONE);
         } catch (UnsupportedCommOperationException e) {}
         readThread = new Thread(this);
         readThread.start();
         * Method declaration
         * @see
        public void run() {
         try {
             Thread.sleep(20000);
         } catch (InterruptedException e) {}
         * Method declaration
         * @param event
         * @see
        public void serialEvent(SerialPortEvent event) {
         switch (event.getEventType()) {
         case SerialPortEvent.BI:
         case SerialPortEvent.OE:
         case SerialPortEvent.FE:
         case SerialPortEvent.PE:
         case SerialPortEvent.CD:
         case SerialPortEvent.CTS:
         case SerialPortEvent.DSR:
         case SerialPortEvent.RI:
         case SerialPortEvent.OUTPUT_BUFFER_EMPTY:
             break;
         case SerialPortEvent.DATA_AVAILABLE:
             byte[] readBuffer = new byte[20];
             try {
              while (inputStream.available() > 0) {
                  int numBytes = inputStream.read(readBuffer);
              System.out.print(new String(readBuffer));
             } catch (IOException e) {}
             break;
    }

  • Windows and serial port adapters

    Hi Everyone,
    I am looking to buy a new notebook and am having trouble getting any answers about running Windows on a Mac. I do the bulk of my work programming PLCs, microprocessors, touchscreens, etc... Most of the interfacing is done over RS-232, USB, and Ethernet. All of my programming software is Windows based. I would have to use a ExpressCard/34 slot serial adapter for the RS-232.
    My question is: Will Windows have any trouble accessing and using all the ports? Is anyone else doing this kind of thing and making it work?
    Thank you for any help.
    Layne

    Hi Layne,
    I have had great success using Windows and a Belkin USB to RS232 adapter to program Clear-Com RS601 beltpacks and XTA loudspeaker processors.
    All that was needed was to install the Belkin drivers.
    Chris

Maybe you are looking for

  • Error:iaik.security.ssl.SSLCertificateException: Peer certificate rejected

    Hi, I am getting error com.sap.engine.interfaces.messaging.api.exception.MessagingException: iaik.security.ssl.SSLCertificateException: Peer certificate rejected by ChainVerifier When i test for digital signing and encryption using soap receiver CC w

  • Image capture not work with ios5

    Image capture/iphoto couldn't recognize my iphone4 after update it to ios5.

  • SCCM 2012 - Install WSUS Off Box SQL

    Hi all, installed SCCM 2012 R2 CAS on a 2012 server. The SQL is off box on a server cluster. I've installed WSUS through the 'Add Roles and Features'. I configured it to have local storage for the content and a remote DB instance (called SQL1 on our

  • Unusual file in root directory

    I just purchased a new Macbook pro and migrated my data using migration assistant. I have just noticed an unusual file in the Macintosh HD root directory called "~". It says it was created today but modified yesterday! Its 557kb in size. Does anyone

  • Logic Pro 9.1.3 Update available

    About the Logic Pro 9.1.3 update Resolves an issue introduced in Logic 9.1.2 where Logic might quit unexpectedly when opening if the Native Instruments Kontakt 4 Memory Server was already open. Resolves an issue introduced in Logic 9.1.2 where the Pe