1. java
  2. android
  3. c#
  4. .net
  5. javascript
  6. php
  7. jquery
  8. html
  9. sql

Comunicação Cliente-Servidor com Erro

Bom dia Pessoal!

Estou com um problema e ainda não consegui identificar o erro!

Na minha Aplicação preciso fazer uma comunicação do Cliente para o servidor para poder fazer atualizações. Localmente eu consigo realizar todos os procedimentos, mas quando coloco o link do meu servidor não funciona.

O estranho é que eu fiz um teste no site "http://www.yougetsignal.com/tools/open-ports/" para o link e a porta que eu uso no meu servidor e o teste funciona, inclusive o meu servidor imprime que alguém tentou conectar, mas quando parto para o meu aplicativo obtenho o seguinte erro:

java.net.ConnectException: Connection refused: connect
    at java.net.DualStackPlainSocketImpl.connect0(Native Method)
    at java.net.DualStackPlainSocketImpl.socketConnect(DualStackPlainSocketImpl.java:79)
    at java.net.AbstractPlainSocketImpl.doConnect(AbstractPlainSocketImpl.java:345)
    at java.net.AbstractPlainSocketImpl.connectToAddress(AbstractPlainSocketImpl.java:206)
    at java.net.AbstractPlainSocketImpl.connect(AbstractPlainSocketImpl.java:188)
    at java.net.PlainSocketImpl.connect(PlainSocketImpl.java:172)
    at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:392)
    at java.net.Socket.connect(Socket.java:589)
    at java.net.Socket.connect(Socket.java:538)
    at java.net.Socket.<init>(Socket.java:434)
    at java.net.Socket.<init>(Socket.java:244)
    at Teste.main(Teste.java:20)

Segue fonte do Cliente:

public static void main(String[] args) {
        Socket socket = null;
        try {
            socket = new Socket(InetAddress.getByName("host"), 1713);
            System.out.println(socket.getInetAddress().getHostName());
        } catch (UnknownHostException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        } catch (IOException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
    }

Fonte do Servidor:

private ServerSocket socketServidor;
    private Socket socketCliente_Conexao;

    private ConexoesDB conexaoDB;
    private Statement st;
    private ResultSet rs;

    public teste() {
        try {
            conexaoDB = new ConexoesDB();
            socketServidor = new ServerSocket(1713);
            receberConexao();
        } catch (Exception erro) {
            GravarLogs.gravarLogsDeErros(erro);
            JOptionPane.showMessageDialog(null, erro, "Erro do Sistema", JOptionPane.ERROR_MESSAGE);
        }
    }

   /**
     * Este método é resonsável pelo recebimento e acionamento da thread de atualização do sistema
     */
    public void receberConexao() {
        try {
            this.socketCliente_Conexao = this.socketServidor.accept();
            System.out.println("Conexao Recebida");
        } catch (Exception erro) {
            if (!erro.getMessage().equalsIgnoreCase("Accept timed out")) {
                GravarLogs.gravarLogsDeErros(erro);
                JOptionPane.showMessageDialog(null, erro, "Erro do Sistema", JOptionPane.ERROR_MESSAGE);
            }
        }
    }

    public static void main(String[] args) {
        new teste();
    }

alguém tem uma idéia do que seja?

  • Você esta tentando se conectar a porta, mas ela não está respondendo, tentou mudar a porta ?

    Edson Cezar   16 de out de 2015
  1. Você vai ver essas setas em qualquer página de pergunta. Com elas, você pode dizer se uma pergunta ou uma resposta foram relevantes ou não.
  2. Edite sua pergunta ou resposta caso queira alterar ou adicionar detalhes.
  3. Caso haja alguma dúvida sobre a pergunta, adicione um comentário. O espaço de respostas deve ser utilizado apenas para responder a pergunta.
  4. Se o autor da pergunta marcar uma resposta como solucionada, esta marca aparecerá.
  5. Clique aqui para mais detalhes sobre o funcionamento do GUJ!

1 resposta

Não é a resposta que estava procurando? Procure outras perguntas com as tags java sockets ou faça a sua própria pergunta.