[chatting project] step1

server


package step1.server;

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.net.ServerSocket;
import java.net.Socket;

/**
 * client의 data를 서버에서 전송받는 어플리케이션
 * @author 관리자
 *
 */
public class TestServer {
public void go() throws IOException{
// 5432 : port  서버소켓 : 접수창구
ServerSocket ss=new ServerSocket(5432);
System.out.println("**서버 실행**");
Socket s=ss.accept();// 대기하다 클라이언트  접속하면 일반소켓 생성한다.
//클라이언트가 보낸 데이터를 읽기 위해 스트림을 생성
InputStream is=s.getInputStream();
//16bit stream 으로 전환
InputStreamReader ir=new InputStreamReader(is);
// readLine()을 위한 스트림
BufferedReader br=new BufferedReader(ir);
String str=br.readLine();
System.out.println(str);
br.close();
s.close();
ss.close();
 }
 public static void main(String[] args) {
TestServer ts=new TestServer();
     try {
         ts.go();
     } catch (IOException e) {
     // TODO Auto-generated catch block
     e.printStackTrace();
     }
   }
}

client


package step1.client;

import java.io.IOException;
import java.io.OutputStream;
import java.io.PrintWriter;
import java.net.Socket;
import java.net.UnknownHostException;

/**
 * Socket 을 이용하여 서버에 데이터를 전송하고 종료하는 어플리케이션 구현
 * @author 관리자
 */
public class TestClient {
 public void go() throws UnknownHostException, IOException{
    // 127.0.0.1 : 자신의 ip  5432:서버 port
    Socket s=new Socket("127.0.0.1",5432);
    System.out.println("**서버 연결 ok**");
    // 소켓으로부터 OutputStream 을 리턴받는다.
    OutputStream os=s.getOutputStream();
    // 프로세스 스트림을 이용한다. println()
    PrintWriter pw=new PrintWriter(os,true);// true : autoflush
    // 서버에 데이터 전송
    pw.println("헬로우 월드!!!!");
    pw.close();
    s.close();
 }
 public static void main(String[] args) {
    TestClient tc=new TestClient();
    try {
       tc.go();
    } catch (UnknownHostException e) {
       // TODO Auto-generated catch block
       e.printStackTrace();
    } catch (IOException e) {
       // TODO Auto-generated catch block
       e.printStackTrace();
    }
 }
}
Comment are closed.