C&P : Copy & Paste - 복사 & 붙여넣기
: 널리고 널린 것들을 충분히 활용하고,
D&C : Divide & Conquer - 분할 & 정복
: 나눠서 조금씩 정복해 나가고,
C&I : Creative & Idleness - 창조적 게으름
: 게을러지되 창조적이어라.
import java.io.*; import java.net.ServerSocket; import java.net.Socket; public class TcpServer { public static void main(String[] args) { ServerSocket serverSocket = null; Socket socket = null; BufferedReader br = null; BufferedWriter bw = null; try{ //server는 프로그램이 실행되면 연결요청을 기다림 포트 5001 serverSocket = new ServerSocket(5001); socket = serverSocket.accept(); //문장형태의 문자열을 주고 받을수 있도록 세팅; InputStream in = socket.getInputStream(); OutputStream out = socket.getOutputStream(); br = new BufferedReader(new InputStreamReader(socket.getInputStream())); bw = new BufferedWriter(new OutputStreamWriter(socket.getOutputStream())); //server는 client가 연결되면 '이름을 입력하세요'라고 메시지를 전송 bw.write("이름을 입력하세요\n"); bw.flush(); // server는 client가 보낸 이름을 변수에 저장, String clientName = br.readLine(); //계속해서 client가 보내는 메시지를 수신,모니터에 출력 while(true) { String msg = br.readLine(); if(msg.equals("quit"))//client가 보낸 메시지가 quit일 경우 프로그램 종료 break; System.out.println(clientName + " : " + msg); } }catch(IOException e){ e.printStackTrace(); }}} |
ctrl + shift + o -> 클래스 임포트 정리
import java.io.*; import java.net.*; public class TcpClient { public static void main(String[] args) { Scanner scan = new Scanner(System.in); System.out.println("연결할 IP주소를 입력하세요"); String ipAddr = scan.nextLine(); //client는 프로그램이 실행되면 사용자로부터 ip주소를 입력받아 Socket socket = null; BufferedReader br = null; BufferedWriter bw = null;
try{ //해당 주소의 5001포트로 tcp 연결 요청을 보냄 socket = new Socket(InetAddress.getByName(ipAddr),5001); //문장형태의 문자열을 주고 받을 수 있도록 세팅 InputStream in = socket.getInputStream(); OutputStream out = socket.getOutputStream(); br = new BufferedReader(new InputStreamReader(socket.getInputStream())); bw = new BufferedWriter(new OutputStreamWriter(socket.getOutputStream()));
//client는 연결이 성공하면 서버가 보낸 메시지를 모니터에 출력 System.out.println(br.readLine()); //그 다음부터 사용자로부터 계속해서 메시지를 입력받아서 받을때마다 서버에게 전달 while(true){ String msg = scan.nextLine(); bw.write(msg+ "\n"; bw.flush(); } }catch(UnknownHostException e){ e.printStackTrace(); }catch(IOException e){ e.printStackTrace(); }}} |
' IOT 기반 응용 SW과정 > Java, Eclipse ' 카테고리의 다른 글
Day 26 데이터베이스 프로그래밍 (0) | 2016.04.21 |
---|---|
Day24 GUI 그래픽 사용자 인터페이스 // 이벤트 처리 (0) | 2016.04.19 |
Day22 TCP (0) | 2016.04.12 |
Day21 입출력 / 네트워크 프로그래밍 (0) | 2016.04.11 |
Day20 입출력 (0) | 2016.04.08 |