Сокеты не связываются, даже если никакие исключения не запущены - PullRequest
0 голосов
/ 01 декабря 2018

Я пытаюсь отправить строку с клиента на сервер, но даже если весь код компилируется без ошибок и не генерируется никаких исключений, ничего не отправляется.Это мой сервер:

        String nomeAccount = "";
        try {
            //PHASE 1: The server receives the email
            try {
                InputStream inStream = incoming.getInputStream();
                BufferedReader in = new BufferedReader(new InputStreamReader(incoming.getInputStream()));
                //if I print something here it works
                nomeAccount = in.readLine(); 
                //here nothing get printed
                System.out.println("Nome: "+nomeAccount);
            } catch (IOException ex) {
                System.out.println("Not works");
                Logger.getLogger(ServerController.class.getName()).log(Level.SEVERE, null, ex);
            } finally {
                try {
                    incoming.close();
                } catch (IOException ex) {
                    System.out.println("Not works");
                    Logger.getLogger(ServerController.class.getName()).log(Level.SEVERE, null, ex);
                }
            }

Это клиент:

//PHASE 1: The client sends a string to the server
    try {
        InputStream inStream = s.getInputStream();
        OutputStream outStream = s.getOutputStream();
        PrintWriter out = new PrintWriter(outStream, true);
        out.write(account+"\n");

1 Ответ

0 голосов
/ 01 декабря 2018

Пара проблем:

  • PrintWriter использует любые исключения.Вы бы их не увидели, если бы их бросили.
  • Цель использования PrintWriter вместо простого Writer - использовать println, print или printf
  • если вы не напечатаете новую строку, данные не будут сброшены (что должно работать с write (), но println более понятен)
...