================== 서버 ============================
public class Server {
public static void main(String[] arg){
ServerSocket server = null;
BufferedReader in = null;
try{
// 서버 포트번호 셋팅
server = new ServerSocket(12345);
System.out.println("Server Ready");
while(true){
// 클라이언트가 보내는 연결요청을 기다린다.
Socket s = server.accept();
// 클라이언트가 보낸 데이터를 읽는 객체를 생성한다.
in = new BufferedReader(new InputStreamReader(s.getInputStream()));
// 클라이언트 한면과 대화가 끝나기 전가지 다른 클라이언트가 보낸 연결 요청은 받지 않는다.
// 여러 클라이언트를 연결 시키려면 아래 while문을 thread로 바꿔야한다.
while(true){
String str = in.readLine();
if(str.equals("."))
break;
System.out.println("전송된 데이터 : " + str);
}
System.out.println("end connect");
}
}catch(Exception e){
System.out.println(e.getMessage());
}
}
}
================== 클라 ============================
public class Client {
public static void main(String[] args){
Scanner in = new Scanner(System.in);
Socket socket = null;
PrintWriter out = null;
try{
// 소켓 객체 생성
socket = new Socket(InetAddress.getByName("192.168.0.3"),12345);
// 해당 소켓으로 통신할 수 있는 출력 객체 생성
out = new PrintWriter(new BufferedWriter(new OutputStreamWriter(socket.getOutputStream())));
}catch(Exception e){
System.out.println(e.getMessage());
}
while(true){
System.out.print("send text(finish '.') = ");
// enter 입력을 기다린다.
String str = in.nextLine();
// 출력객체에 대이터를 담는다
out.println(str);
// 소켓으로 읽은 데이터를 전송한다. flush() 는 필수
out.flush();
// 종료 조건
if(str.trim().equals("."))
break;
}
out.close();
try{
socket.close();
}catch(Exception e ){
}
}
}
'프로그래밍 언어 > 프로그래밍' 카테고리의 다른 글
[JAVA] 스트림 입출력 형식 (0) | 2016.09.30 |
---|---|
[유니티] 오브젝트 터치좌표로 이동하기 (0) | 2016.06.17 |
유니티 점프 (0) | 2016.06.08 |
해시 테이블 (hash table) (0) | 2009.01.18 |
트리 (0) | 2009.01.18 |
댓글