2012-05-04 5 views
1

기본 웹 서버를 구현하는 Java 클래스를 작성했습니다. 콘솔에서 포트 번호를 가져옵니다.기본 웹 서버 실행

package p106; 

import java.io.*; 
import java.net.*; 

public class HttpMirror { 

public static void main(String[] args) { 

    try 
    { 
     int port = Integer.parseInt(args[0]); 

     ServerSocket ss = new ServerSocket(port); 

     for(;;) 
     { 
      Socket client = ss.accept(); 

      BufferedReader in = new BufferedReader(new InputStreamReader(client.getInputStream())); 
      PrintWriter out = new PrintWriter(client.getOutputStream()); 

      out.print("HTTP/1.0 200 en"); 
      out.print("Content-Type text/plain"); 

      String line; 
      while((line = in.readLine()) != null) 
      { 
       if(line.length() == 0) 
        break; 
       out.print(line); 

      } 

      out.close(); 
      in.close(); 
      client.close(); 

     } // Tekrar döngüye gir ve bir sonraki bağlantıyı bekle. 
    }catch(Exception e) 
    { 
     System.err.println(e); 
    } 

} 

} 

이 코드를 실행하고 내 브라우저의 주소 표시 줄에 무엇을 작성해야합니다 :이 코드는 sends.Here 클라이언트 코드 무엇 반환, 아주 기본적인입니까? 미리 감사드립니다.

+0

에 대한 다음 http://localhost:Portnumber 함유량. – srkavin

+0

확인. 나는 시도 할 것이다. – tahasozgen

답변

4

localhost : 여기 포트 번호는입니까? 또는 127.0.0.1 : 여기 포트 번호는입니까?

포트 번호가 8050 인 경우 예를 들어, 주소가 될 것 로컬 호스트 : 8050 또는 127.0.0.1:8050

+0

둘 다 시도했지만 할 수 없습니다. 내 OS는 우분투 11.04입니다. 모질라 파이어 폭스가 제 브라우저입니다. 포트 번호 "4444"가 주어집니다. – tahasozgen

2

당신은 당신이 당신의 자바 엔진을 시작하는 데 사용하는 명령을 지정하지 않은 .

int port = Integer.parseInt(args[0]); 

은 포트가 명령 줄에서 전달됨을 나타냅니다. 그래서 당신이 통과 한 항구가 무엇이든지, 당신은 당신의 웹 브라우저에 놓아야합니다.

예 :

java HttpMirror 12345 
http://localhost:12345 
+0

java 코드를 실행하기 위해 Eclipse를 사용하고 있으며 실행 -> 실행 구성 -> 인수 – tahasozgen

+0

에 포트 번호 "4444"를 인수로 지정 했습니까? 이거 작동하지 않니? 디버그 모드로 실행 해보고 코드에 중단 점을 설정하여 연결이 중단 점을 트리거하는지 확인 했습니까? –

0

먼저 당신이 포트를 확인해야 예 당신은 여전히 ​​등 헤더, 몸에 들어오는 HTTP 요청을 분석하고 사용자를 얻을해야합니다 http://localhost:8050