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