Atenção
Os conteúdos abaixo são exemplos, porém as estruturas são reais e devem ser seguidas. Junto com as linhas e tags correspondentes referentes à funcionalidade, segue também a implementação a ser realizada.
Existem 2 dos 3 parâmetros passados que merecem Atenção:
-
IP: É o que trata o endereço do Agente em que vai se conectar, pode ser o IP local ou 127.0.0.1;
-
Port: É a porta de comunicação que deve ser estabelecida com o Agente. Deve ser a mesma setada no arquivo CONFIG.PROPERTIES na propriedade socketPort, que subirá o servidor socket. É uma porta TCP que deve estar liberada localmente no computador onde encontra-se instalado o Agente para permitir a comunicação e por padrão a sugestão é colocar na 9000.
Exemplo de Config.Properties utilizando socketPort:
xms=32m
xmx=64m
serverUrl=http://localhost:8080
token=1c0f6919-81e3-4b25-a41a-96fb9e2b0638
enterpriseId=NDDigital
sourceId=01
proxy=;;;;
socketPort=8081
-
Os conteúdos abaixo são exemplos, porém as estruturas são reais e devem ser seguidas. Junto com as linhas e tags correspondentes referentes à funcionalidade, segue também a implementação a ser realizada.
Este é um exemplo do componente/método connect que invoca o socket em JAVA utilizado nos exemplos acima:
Envio:
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.io.OutputStream;
import java.io.OutputStreamWriter;
import java.net.Socket;
import javax.net.SocketFactory;
public class Principal {
static Socket socket;
static OutputStream os;
static InputStream is;
static OutputStreamWriter osw;
static BufferedWriter bw;
static InputStreamReader isr;
static BufferedReader br;
public static void connect(String ip, int port, String msg) {
try {
SocketFactory sf = SocketFactory.getDefault();
socket = sf.createSocket(ip, port);
os = socket.getOutputStream();
is = socket.getInputStream();
} catch (IOException e) {
System.out.println("ERROR - Não foi possível estabelecer conexão no IP:" + ip + " PORTA: " + port);
System.out.println(e);
}
sendProcess(ip, port, msg);
getResultProcess();
}
public static void sendProcess(String ip, int port, String msg) {
try {
osw = new OutputStreamWriter(os);
bw = new BufferedWriter(osw);
bw.write(new String(msg.getBytes(), "UTF-8"));
bw.flush();
socket.shutdownOutput();
} catch (IOException e) {
System.out.println("ERROR - Ocorreu erro ao enviar resposta do servidor");
System.out.println(e);
}
}
public static void getResultProcess() {
try {
isr = new InputStreamReader(is);
br = new BufferedReader(isr);
StringBuffer message = new StringBuffer();
String linha;
while ((linha = br.readLine()) != null) {
message.append(linha.trim());
message.append(System.getProperty("line.separator"));
}
String[] fileNameContent = message.toString().split("_TCPMSG;");
System.out.println(fileNameContent[0]);
System.out.println(fileNameContent[1]);
} catch (Exception e) {
System.out.println("ERROR - Ocorreu erro ao receber resposta do servidor.");
System.out.println(e);
}
}
}