1. 파일 입출력
// 입출력 클래스 : Reader, Writer, InputStream, OutputStream.
// 객체 입출력 클래스 : ObjectInputStream, ObjectOutputStream
// 메소드 : writeObject, readObject
// 객체 입출력 클래스는 파일 열기가 불가능하다 : FileInputStream, FileOutputStream
// 파일입출력할 클래스는 implements Serializable을 해줘야 한다.
2. Server 기본 코드
public class Server {
ServerSocket server;
Socket socket;
public Server() {
try {
server = new ServerSocket(12345); //서버 생성
System.out.println("listen...");
socket = server.accept(); //소켓 생성
System.out.println("client : " + socket);
PrintWriter out = new PrintWriter(socket.getOutputStream()); //writer 생성
BufferedReader in = new BufferedReader(new InputStreamReader(socket.getInputStream())); // reader 생성
String msg = null;
while(true){
msg = in.readLine(); //클라이언트로부터 데이터를 일겅옴(String 형태로)
if(msg.equals("bye"))
break;
out.println(msg); //클라이언트에게 데이터를 전송
out.flush();
}
System.out.println(msg);
socket.close();
server.close();
} catch (IOException e) {
System.out.println("해당 포트번호가 이미 사용중입니다.");
}
}
public static void main(String[] args) {
new Server();
}
}
3. Client 기본코드
public class Client {
Socket socket;
public Client() {
try {
socket = new Socket("localhost", 12345);
PrintWriter out = new PrintWriter(socket.getOutputStream());
BufferedReader in = new BufferedReader(new InputStreamReader(socket.getInputStream()));
Scanner scan = new Scanner(System.in);
String msg = null, echo = null;
while(true){
msg = scan.nextLine();
out.println(msg);
out.flush();
if(msg.equals("bye"))
break;
echo = in.readLine();
System.out.println(echo);
}
socket.close();
} catch (IOException e) {
}
}
public static void main(String[] args) {
new Client();
}
}
'개발메모장' 카테고리의 다른 글
JDBC 기본 (0) | 2014.12.18 |
---|---|
Thread 를 이용한 JAVA 채팅 구현 (0) | 2014.12.18 |
JUnit (0) | 2014.12.18 |
JAVA 예외처리 (0) | 2014.12.18 |
Swing Test (0) | 2014.12.18 |