을 처리하기 위해 스레드를 확장하는 클래스입니다
public class Server {
private ServerSocket serverSocket;
private Socket socket;
public Server() {
try {
serverSocket = new ServerSocket(6666);
while (true) {
socket = serverSocket.accept();
System.out.println("Whoop! Connection!");
Request request = new Request(socket);
request.run();
}
} catch (IOException e) {
e.printStackTrace();
}
}
}
(난 당신이 정확하게 사용하고 있으리라 믿고있어 브라우저에서 동일한 URL을 사용하고 curl
...
브라우저가 서비스와 다른 호스트에서 실행되는 경우 그 이유는 localhost
IP 주소 (예 : 127.0.0.1
)는 보낸 호스트 이외의 다른 호스트로 라우팅되지 않습니다. 즉, "로컬"이 의미하는 것입니다 ... 간단히 말해서, 이는 정상적인 동작입니다. (아마도 다른 호스트에서 curl
과 브라우저를 실행하고 있습니다.)
브라우저가 서비스와 동일한 호스트에서 실행중인 경우이 동작은 다소 수수께끼입니다. 그러나 몇 가지 가능한 설명이 있습니다
당신은 당신의 브라우저에서 이상한 네트워크 프록시 설정이있을 수 있습니다. 예를 들어 다른 컴퓨터의 HTTP 프록시에 모든 HTTP 요청 (127.0.0.1 포함)을 보내도록 브라우저를 구성한 경우 프록시가 실제 컴퓨터로 요청을 릴레이하면 잘못된 위치로 이동합니다.
localhost
도메인 이름이 이상한 IP 주소에 바인딩 될 수 있습니다. 예 : 127.x.x.x
IP 주소 이외의 값입니다. (이상한 일이지만 잘못된 길을가는 사람들이 있다고 들었습니다.)
127.0.0.1 IP 주소가 루프백 네트워크 어댑터와 다른 것일 수 있습니다. (기술적으로 가능할 지 모르겠다 ...)
iptables를 사용하여 가상 네트워크에서 라우팅을 구현하는 경우 127.0.0.1 패킷을 잘못된 위치로 보낼 수 있습니다. (기술적으로 가능할 지 모르겠다.)
첫 번째 글 머리 기호는 나에게 가장 많이 들릴 것 같다.
아마도 코드를 게시해야 할 것입니다. 그 외 브라우저 프록시 설정 일 수도 있습니다. – austin
차이점은 있지만 127.0.0.1 : 6666을 사용해 보았습니까? – Supericy
시도한 127.0.0.1:6666 효과 없음 – user1990198