[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();
}
}
}




