나는 첫 번째 소켓 서버를 작성하려고 노력 중이므로 매우 간단한 것으로 시작하기로 결정했다. 흐름을 이해하기 위해 :) 간단한 자바 에코 서버를 작성하고 있지만, 그것은 (어떤 이유로?!) 요청이 서버에서 수신되었지만 클라이언트에서 서버 응답을 얻지 못합니다.간단한 자바 에코 서버 문제
package poc.client;
import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.io.PrintWriter;
import java.net.Socket;
public class Client {
public static void main(String[] args) {
try {
final Socket socket = new Socket((String) null, 50000);
final BufferedReader reader = new BufferedReader(
new InputStreamReader(socket.getInputStream()));
final PrintWriter writer = new PrintWriter(
socket.getOutputStream(), true);
writer.println("ala bala\r\n");
writer.flush();
writer.close();
System.out.println(reader.readLine());
System.out.flush();
} catch (Exception ex) {
Logger.getAnonymouseLogger().throwing(TAG, "main", ex);
}
}
}
그리고 나는 등 모든 오라클 기본 소켓 튜토리얼을 읽기 /하지만 난 그냥 뭐가 잘못 알아낼 수 없습니다
package poc.server;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.PrintWriter;
import java.net.ServerSocket;
import java.net.Socket;
public class Server {
/**
* debugging purposes only
*/
@SuppressWarnings("unused")
private static final String TAG = Server.class.getSimpleName();
public static void main(String[] args) {
try {
final ServerSocket socket = new ServerSocket(50000);
while (true) {
final Socket clientSocket = socket.accept();
final BufferedReader reader = new BufferedReader(
new InputStreamReader(clientSocket.getInputStream()));
final PrintWriter writer = new PrintWriter(clientSocket
.getOutputStream(), true);
writer.println(reader.readLine());
writer.flush();
writer.close();
}
} catch (IOException e) {
Logger.getAnonymouseLogger().throwins(TAG, "main",ex);
}
}
}
서버 부분은 - 나는 성공적으로 서버 소켓에 쓰고 있어요하지만 응답을 얻을 수없는 것 같습니다.
예외를 무시하면 안됩니다. 마치 눈을 가리고 차를 운전하려고하는 것과 같습니다. –
클라이언트의 IP 주소를 가져 오는 서버 코드에서 어디에도 보이지 않습니다. – Chad
@HovercraftFullOfEels 패키지 이름이 제안하는 바에 따르면이 코드는 실제 코드가 아니며 PoC입니다. 그래도 조언 주셔서 감사합니다. – asenovm