서버에 문자열을 보내기위한 다음 클라이언트 소켓이 있습니다. 서버가 메시지를 받고 있지 않습니다. 무슨 문제 일 수 있겠 니?Java 소켓이 서버에 메시지를 보내지 않습니다.
public void startClient() throws IOException {
Socket socket = null;
PrintWriter out = null;
BufferedReader in = null;
InetAddress host = null;
BufferedReader stdIn = null;
try {
host = InetAddress.getByName("172.16.2.97");
socket = new Socket(host, 52000);
out = new PrintWriter(socket.getOutputStream(), true);
in = new BufferedReader(new InputStreamReader(socket.getInputStream()));
stdIn = new BufferedReader(new InputStreamReader(System.in));
String fromServer;
String fromUser = null;
//ClientHelper.unpackISO();
fromUser = ClientHelper.createISO();
if (fromUser != null) {
//System.out.println("Client - " + fromUser);
out.write(fromUser);
System.out.println("Sent message");
}
while ((fromServer = in.readLine()) != null) {
System.out.println("Server - " + fromServer);
if (fromUser != null) {
//System.out.println("Client - " + fromUser);
out.println(fromUser);
}
}
} catch (ISOException ex) {
Logger.getLogger(ClientDemo.class.getName()).log(Level.SEVERE, null, ex);
} catch (UnknownHostException e) {
System.err.println("Cannot find the host: " + host.getHostName());
System.exit(1);
} catch (IOException e) {
System.err.println("Couldn't read/write from the connection: " + e.getMessage());
System.exit(1);
} finally { //Make sure we always clean up
out.close();
in.close();
stdIn.close();
socket.close();
}
}
메소드 ClientHelper.createISO() 서버로 전송하도록되어있는 문자열을 반환한다. 불행히도 서버에 문자열이 없습니다. 문제가 프록시 설정 일 수 있습니까? 그렇다면 어떻게 해결할 수 있습니다. 아니면 내 코드에 또 다른 문제가 있습니까? 내 코드의 문제점은 무엇입니까?
예외가 있습니까? 서버에서받을 수 있습니까? – Fildor
당신은 예외 스택 추적을 얻는 중 오류가 무엇입니까? –
서버에서 모든 문자열을 수신 한 것을 어떻게 알 수 있습니까? –