I have a simple server made by JAVA that completes a form from a particular web site . I use the JAVA application as the server to send the information and a extension made for Chrome that acts as a client , receiving this information and by placing it in the site's form .
My problem is that when I close the page and open it again or update it, server to send new information to it, I would like a solution if possible, thanks .
I'm running the application in JAVA through another main class, by the command: new ServerExt (8080) .start ();
JAVA server :
/*
* To change this license header, choose License Headers in Project Properties.
* To change this template file, choose Tools | Templates
* and open the template in the editor.
*/
package servidor;
import java.net.InetSocketAddress;
import java.net.UnknownHostException;
import org.java_websocket.WebSocket;
import org.java_websocket.handshake.ClientHandshake;
import org.java_websocket.server.WebSocketServer;
import view.painelUsuarios;
/**
*
* @author Neto
*/
public class ServidorExt extends WebSocketServer {
//Pega as informações contidas em outra classe
public static String msg1;
public static String msg2;
public static String msg3;
public void Verificador() {
painelUsuarios pu = new painelUsuarios();
msg1 = pu.getMsg1();
}
public void PegaMsg1() {
msg1 = painelUsuarios.getMsg1();
}
public void PegaMsg2() {
msg2 = painelUsuarios.getMsg2();
}
public void PegaMsg3() {
msg3 = painelUsuarios.getMsg3();
}
public ServidorExt(int porta) throws UnknownHostException {
super(new InetSocketAddress(porta));
System.out.println("Recebendo conexões da porta: " + porta);
}
@Override
public void onMessage(WebSocket webSocket, String mensagem) {
//Verifica se há novas mensagens para continuar ou dar inicio ao fluxo
String msgAnterior = "";
String msgNova;
while (true) {
Verificador();
msgNova = msg1;
while (!msgNova.equals(msgAnterior)) {
Verificador();
msgAnterior = msg1;
PegaMsg1();
webSocket.send(msg1);
System.out.println("msg 1 = "+ mensagem);
PegaMsg2();
webSocket.send(msg2);
System.out.println("msg 2 = "+ mensagem);
PegaMsg3();
webSocket.send(msg3);
System.out.println("msg 3 = "+ mensagem);
}
}
}
@Override
public void onClose(WebSocket arg0, int arg1, String arg2, boolean arg3) {
System.out.println("A conexão foi encerrada.");
}
@Override
public void onError(WebSocket arg0, Exception e) {
System.out.println("Erro de conexão." + e);
}
@Override
public void onOpen(WebSocket webSocket, ClientHandshake arg1) {
System.out.println("Foi iniciado uma nova conexão.");
}
@Override
public void onStart() {
System.out.println("Servidor iniciado com sucesso!");
}
}
JavaScript customer:
/* global websocket, ws */
var ws = new WebSocket('ws://localhost:8080');
var itens = [];
ws.onopen = function ()
{
ws.send("");
// alert("Mensagem enviada...");
};
ws.onerror = function (erro)
{
alert('Ocorreu um erro!' + erro);
};
ws.onmessage = function (evt)
{
//Recebe as mensagens do servidor, as guarda em uma Array e distribui entre
//as partes do form
itens.push(evt.data);
document.getElementById("NI").value = itens[0].toString();
document.getElementById("CodigoAcesso").value = itens[1].toString();
document.getElementById("Senha").value = itens[2].toString();
itens.splice(0,itens.length);
};
ws.onclose = function (evt)
{
websocket.close();
alert('Conexão fechada...' + evt);
};
window.onbeforeunload = function (evt) {
alert('Conexão fechada...' + evt);
websocket.close();
};
Ps: I'm not getting any errors in the application or chrome extension.