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

}}}


+ Recent posts