Olá a Todos. Estou criando um programa em Java que se comunicará com um outro software desenvolvido em Visual Basic com o uso de Winsock.
Li através deste portal mesmo que a comunicação entre os dois é “compatível”.
Eu envio uma mensagem neste código Java para o Servidor e aplicação recebe corretamente e retorna outra mensagem, porem, eu meu código Java a conexão fica aparentemente travada e não recebe a string de resposta. Verifiquei por debugs que o programa em Visual Basic já enviou o retorno.
Percebi que quando paro o programa java eu recebo a string de resposta do Servidor. Gostaria de saber se existem falhas no meu código ou se há mesmo esta incompatibilidade entre o Winsock e o Java Socket.
Logo abaixo estou encaminhando o código fonte do meu programa em Java
import java.io.*;
import java.net.*;
public class Cliente {
public static void main(String[] args) {
try{
//criação e conexão do Socket
Socket conexao = new Socket("127.0.0.1", 2001);
//objetos de entrada e saída
//BufferedReader entrada = new BufferedReader(new InputStreamReader(conexao.getInputStream()));
DataInputStream entrada = new DataInputStream(conexao.getInputStream());
PrintStream saida = new PrintStream(conexao.getOutputStream());
//send message to server
saida.println("Estou enviando esta mensagem");
String linha = "";
//read message from the server
while(true) {
//linha = entrada.readLine();
linha = entrada.readLine();
//mostra no console a mensagem de resposta do Servidor
System.out.println("Linha: '" + linha + "'");
if (linha == null) {
System.out.println("Socket Desconectado");
break;
}
}
}catch(Exception ex) {
System.out.println("Erro: " + ex);
}
}
}
Obrigado a Todos,
Higor
