Notas: •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: oIP: É o que trata o endereço do Agente em que vai se conectar, pode ser o IP local ou 172.0.0.1; oPort: É 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 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 |
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); } } }
|