2011-04-18 4 views
2

소켓 연결을 사용하여 멋지게 작동하는 텍스트 데이터를 수신하고 사용하는 Android 휴대 전화 용 Java 응용 프로그램을 코딩 한 경우 PrintWriterBufferedReader을 사용합니다. HTTP 연결을 사용하는 방법에 대해 설명했습니다. 이 기회를 통해 HTTP가 소켓과 다른 부분을 확립 할 수 있기를 희망합니다. 그러면 다음과 같이 도와 줄 수 있기를 바랍니다.HTTP 및 소켓 :

1) 나는 다음과 같은

서버 사이드를 사용하여 소켓 연결을 만들 :

serverSocket = new ServerSocket(4444); 

클라이언트 측 :

clientSocket = new Socket(address, portNumber); 

그래서 어떤 클라이언트와 서버의 HTTP 동등한 것 양쪽?

pw = new PrintWriter(clientSocket.getOutputStream(),true); 

    pw.write(AStringVariableInThisCase+"\n"); 
    pw.flush(); 

는 무엇 HTTP 연결에서 올바른 방법이 될 것이다 : 나는 다음과 같이 클라이언트에서 서버로 데이터를 전송하는

2)?

3) 다음 작업을 수행 할 서버 측에서 클라이언트에서 전송 된 데이터를받을하려면

BufferedReader br = new BufferedReader(new InputStreamReader(clientSocket.getInputStream())); 
    String language = br.readLine(); 

은 무엇에 해당 될 HTTP 연결을 사용하고 계십니까?

내가 설계 한 프로그램을 사용하면 자체 클래스 집합을 사용하여 서버와 데이터를주고받을 수 있으며 PrintWriter 및 BuferedReader를 사용하여 데이터를 계속 전달할 수 있습니다.

어떤 도움을 주셔서 감사합니다. 차이점을 구분 해 주셔서 감사합니다.

답변

0

가장 큰 차이점은 HTTP는 연결이 아닌 트랜잭션으로 구성된다는 점입니다. 트랜잭션의 클라이언트 측은 헤더에 특정 형식 및 정보를 제공해야하며 응답은 일부 헤더 행으로 시작됩니다. HTTP는 일반적으로 하나의 트랜잭션이 완료된 후 연결을 닫습니다.

2

HTTP는 프로토콜입니다. 일반적으로 소켓을 통해 사용됩니다.

Java는 소켓을 통해 HTTP를 사용하는 편리한 방법으로 HttpUrlConnection class을 제공합니다.

+0

안녕하세요. Brian 님, 데이터를 다른 방식으로 전달하면서 소켓 연결을 계속 사용 하시겠습니까? –