java-无法从服务器套接字获取响应
我正在向服务器发送要验证的用户凭据,服务器应响应此用户凭据是否有效。服务器可以获取客户端的请求。但是,客户端无法得到任何响应 关于服务器端的所有代码: ClientHandler.javajava-无法从服务器套接字获取响应,java,multithreading,sockets,inputstream,outputstream,Java,Multithreading,Sockets,Inputstream,Outputstream,我正在向服务器发送要验证的用户凭据,服务器应响应此用户凭据是否有效。服务器可以获取客户端的请求。但是,客户端无法得到任何响应 关于服务器端的所有代码: ClientHandler.java ... public ClientHandler(Socket socket) { try { client = socket; input = client.getInputStream(); output = cli
...
public ClientHandler(Socket socket) {
try {
client = socket;
input = client.getInputStream();
output = client.getOutputStream();
inputHandler = new ClientInputHandler(input);
outputHandler = new ServerOutputHandler(output);
} catch (IOException ex) {
Logger.getLogger(ClientHandler.class.getName()).log(Level.SEVERE, null, ex);
}
}
@Override
public void run() {
inputHandler.start();
outputHandler.start();
String clientMessage = null;
while(clientMessage == null) {
clientMessage = inputHandler.getClientMessage();
}
System.out.println(clientMessage);
User u = gson.fromJson(clientMessage, User.class);
boolean successful = ClientAuthentication.validateCredentials(u);
if(successful) {
outputHandler.setServerMessage("1");
}
else {
outputHandler.setServerMessage("0");
}
}
...
...
@Override
public void run() {
try {
while (true) {
while ((clientMessage = bufferedReader.readLine()) != null) {
}
}
} catch (IOException ex) {
Logger.getLogger(ClientInputHandler.class.getName()).log(Level.SEVERE, null, ex);
}
}
...
...
@Override
public void run() {
while (true) {
if(serverMessage != null) {
printWriter.println(serverMessage);
serverMessage = null;
}
}
}
...
clientiputhandler.java
...
public ClientHandler(Socket socket) {
try {
client = socket;
input = client.getInputStream();
output = client.getOutputStream();
inputHandler = new ClientInputHandler(input);
outputHandler = new ServerOutputHandler(output);
} catch (IOException ex) {
Logger.getLogger(ClientHandler.class.getName()).log(Level.SEVERE, null, ex);
}
}
@Override
public void run() {
inputHandler.start();
outputHandler.start();
String clientMessage = null;
while(clientMessage == null) {
clientMessage = inputHandler.getClientMessage();
}
System.out.println(clientMessage);
User u = gson.fromJson(clientMessage, User.class);
boolean successful = ClientAuthentication.validateCredentials(u);
if(successful) {
outputHandler.setServerMessage("1");
}
else {
outputHandler.setServerMessage("0");
}
}
...
...
@Override
public void run() {
try {
while (true) {
while ((clientMessage = bufferedReader.readLine()) != null) {
}
}
} catch (IOException ex) {
Logger.getLogger(ClientInputHandler.class.getName()).log(Level.SEVERE, null, ex);
}
}
...
...
@Override
public void run() {
while (true) {
if(serverMessage != null) {
printWriter.println(serverMessage);
serverMessage = null;
}
}
}
...
ServerOutputHandler.java
...
public ClientHandler(Socket socket) {
try {
client = socket;
input = client.getInputStream();
output = client.getOutputStream();
inputHandler = new ClientInputHandler(input);
outputHandler = new ServerOutputHandler(output);
} catch (IOException ex) {
Logger.getLogger(ClientHandler.class.getName()).log(Level.SEVERE, null, ex);
}
}
@Override
public void run() {
inputHandler.start();
outputHandler.start();
String clientMessage = null;
while(clientMessage == null) {
clientMessage = inputHandler.getClientMessage();
}
System.out.println(clientMessage);
User u = gson.fromJson(clientMessage, User.class);
boolean successful = ClientAuthentication.validateCredentials(u);
if(successful) {
outputHandler.setServerMessage("1");
}
else {
outputHandler.setServerMessage("0");
}
}
...
...
@Override
public void run() {
try {
while (true) {
while ((clientMessage = bufferedReader.readLine()) != null) {
}
}
} catch (IOException ex) {
Logger.getLogger(ClientInputHandler.class.getName()).log(Level.SEVERE, null, ex);
}
}
...
...
@Override
public void run() {
while (true) {
if(serverMessage != null) {
printWriter.println(serverMessage);
serverMessage = null;
}
}
}
...