본문 바로가기

모바일&IT/개발관련자료

java - Socket 소켓 서버 ,클라이언트

SMALL

/*  

*  MyClientSocket 소켓 클라이언드 *********************************************************************************************************************************

*/

package junsu1;

import java.io.*;

import java.net.*;

import java.util.*;

public class MyClientSocket

{

  public static void main(String[] args)

  {

 

    try{

    Scanner s = new Scanner(System.in);

      Socket mySocket= new Socket("127.0.0.1", 8080); // 서버에 접속

      System.out.println("서버에 접속했습니다.");


      // 서버 소켓에 스트림을 연결

      BufferedReader in= new BufferedReader(new InputStreamReader(mySocket.getInputStream()));

      PrintWriter out= new PrintWriter(new OutputStreamWriter(mySocket.getOutputStream()));


      // 클라이언트 소켓에 메시지 전송

      //String msg="안녕하세요? 클라이언트입니다.";

      

      String msg = s.next();

      

      System.out.println("서버에게 보낸 메시지: "+ msg);

      out.println(msg);

      out.flush();


      // 서버 소켓으로부터 받은 메시지를 화면에 출력

      System.out.println("서버로부터 받은 메시지: "+ in.readLine());


      mySocket.close();

    }catch(MalformedURLException e){

      System.out.println(e.toString());

    }catch(IOException e){

      System.out.println(e.toString());

    }

  }

}


/*  

*   MyServerSocket 소켓 서버 *********************************************************************************************************************************

*/


package junsu1;

import java.io.*;

import java.net.*;


public class MyServerSocket

{

  public static void main(String[] args)

  {

    try{

      ServerSocket myServerSocket= new ServerSocket(8080);

      System.out.println("클라이언트가 접속하길 기다리고 있습니다.");


      Socket mySocket= myServerSocket.accept(); // 클라이언트 접속때까지 대기

      

      System.out.println("클라이언트가 접속했습니다.");


      System.out.println(mySocket.getInetAddress() + " 클라이언트가 접속했습니다.");

      // 클라이언트 소켓에 스트림을 연결

      BufferedReader in= new BufferedReader(new InputStreamReader(mySocket.getInputStream()));

      PrintWriter out= new PrintWriter(new OutputStreamWriter(mySocket.getOutputStream()));


      // 클라이언트 소켓으로부터 받은 메시지를 화면에 출력

      String msg=in.readLine();

      //System.out.println("클라이언트로부터 받은 메시지: "+ in.readLine());

      System.out.println("클라이언트로부터 받은 메시지: "+ msg);

      // 클라이언트 소켓에 메시지 전송

      out.println(msg);

      out.flush();

      System.out.println("클라이언트에게 보낸 메시지: "+ msg);


      mySocket.close();

    }catch(MalformedURLException e){

      System.out.println(e.toString());

    }catch(IOException e){

      System.out.println(e.toString());

    }

  }

}

LIST