InputStream挂在Java Socket中

时间:2017-01-30 01:32:35

标签: java sockets jsf

我有一个客户端套接字,我正在以不同的方法重用其输入和输出。现在的问题是我从服务器发送了一个字符串,并在我的客户端收到了我的输入流,但我想只读一次并继续执行我的其他代码,因为我想让流打开其他方法来发送数据在未来。但是在我获取数据后它会挂起。请帮忙。我只想在我准备好时关闭我的流和套接字,我还没准备好用这种方法关闭它。

if (myAddress.getIpAddress() != null) {

                    System.out.println("Im add WebSite from client side and my client is " + clientSocket);

                    if (clientSocket != null) {
                        System.out.println("Im add WebSite from client side and my client is not null " + clientSocket);
                        out.println("addWebSite%"+addSite);
                        out.flush();
                    }else {
                        System.out.println("Im add WebSite from client side and my client is null " + clientSocket);
                        clientSocket = new Socket(myAddress.getIpAddress(), myAddress.getPortNumber());


                         out =
                                new PrintWriter(clientSocket.getOutputStream(), true);

                            in =
                                new BufferedReader(
                                    new InputStreamReader(clientSocket.getInputStream()));

                            out.println("addWebSite%"+addSite);
                            out.flush();
                    }

                }

                // this gets printed out but after everything hangs
                System.out.println("I am in readLine "+ in.readLine());


                String moodSite = in.readLine();

                Sites sites = new Sites(addSite, moodSite);
                sites.setAddress(myAddress);

                 session.persist(sites);


                 session.getTransaction().commit();
            }
            } finally {
            if (session != null) {
                session.close();
            }

0 个答案:

没有答案