월요일, 5월 6
Shadow

#058 java network

package kr.co.lecture.socket;

import java.io.BufferedReader;
import java.io.File;
import java.io.FileReader;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.io.OutputStream;
import java.io.PrintWriter;
import java.net.ServerSocket;
import java.net.Socket;

public class SocketServer {

 /**
  * @param args
  * @throws IOException 
  */

 public static void main(String[] args) throws IOException {
  //서버 포트 예약
  ServerSocket serverSocket = new ServerSocket(9090);
  //클라이언트 접속 대기
  Socket clientSocket = serverSocket.accept();

  //클라이언트 전송 데이터 수신 스트림
  InputStream clientIs = clientSocket.getInputStream();
  InputStreamReader isr = new InputStreamReader(clientIs);
  BufferedReader br = new BufferedReader(isr);

  //클라이언트 전송 데이터 송신 스트림
  OutputStream clientOs = clientSocket.getOutputStream();
  PrintWriter pw = new PrintWriter(clientOs);

  //클라이언트 전송 데이터 수신
//  byte[] readBytes = new byte[4008];
//  int readCount = clientIs.read(readBytes);
//  
//  String clientMsg = new String(readBytes);
//  System.out.println(clientMsg);

  String msg="";
//  while(true){
//   String temp = br.readLine();
//   if(temp != null && !temp.equals("")){
//    msg += temp+"\n";
//   }else{
//    break;
//   }
//  }
  String header = br.readLine();
  //System.out.println(msg);
  String[] headerItems = header.split(" ");

  String wwwRoot = "C:/www";

  System.out.println("Method : " + headerItems[0]);
  System.out.println("filePath : " + headerItems[1]);
  System.out.println("Http Version : " + headerItems[2]);

  File file = new File(wwwRoot,headerItems[1]);
  FileReader fr = new FileReader(file);
  BufferedReader br1 = new BufferedReader(fr);

  String temp1="";
  StringBuffer temp2 =new StringBuffer("");
  while(true){
   if((temp1=br1.readLine())!=null){
    temp2.append(temp1);
   }else{
    break; 
   }

  }

  // 클라이언트에게 데이터 송신
  pw.println(temp2);
  pw.flush();
  //clientOs.write("Bye".getBytes());

  clientOs.close();
  clientIs.close();

  clientSocket.close();
  serverSocket.close();

 }

}

답글 남기기

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다

이 사이트는 스팸을 줄이는 아키스밋을 사용합니다. 댓글이 어떻게 처리되는지 알아보십시오.