본문 바로가기

개발하자/JAVA중급

단방향 채팅 (서버->클라이언트)

import java.net.*;
import java.io.*;
import java.util.*;

class Client {
   public static void main(String args[]) throws Exception {
      Socket s = new Socket("192.168.0.2", 7788);//소켓을 생성해서  접속함
      InputStream is = s.getInputStream();//소켓을 위한 인풋스트림을 불러온다
      Scanner sc = new Scanner(is);//스캐너에 인풋스트림을 넣어서 입력받는다.

      while (true) {
         String str = sc.nextLine();//자동으로 바이트를 문자열로변환해준다.
         if (str.equals("stop"))
            break;
         System.out.println(str);
      }
   }
}

 

 

class Server {
    public static void main(String args[]) throws Exception {
       Scanner sc = new Scanner(System.in);
      
       ServerSocket ss = new ServerSocket(7788);//포트번호 7788로 객체를 생성함
       Socket s = ss.accept(); // 누가 접속을 하면 이 라인이 넘어감
       System.out.println(s);
       String str = "";
      
       while (true) {
          str = sc.nextLine()+"\n";// 입력하고 엔터치면 이라인이 넘어감
          OutputStream os = s.getOutputStream();//소켓에 쓸 아웃풋스트림을가져옴
          BufferedOutputStream tt = new BufferedOutputStream(os);//보조스트림으로 속도향상
          tt.write(str.getBytes());// 입력한거를 바이트배열로 출력함
          tt.flush();//바이트가 안찼지만 강제로 보냄 , 만약 바이트가 꽉 차면 오토플러쉬로자동으로 날라감
          if(str.equals("stop")){
             break;
          }
       }
    }
 }

'개발하자 > JAVA중급' 카테고리의 다른 글

클래스A의 멤버변수 이름 출력하기  (0) 2015.03.03
awt PopupMenu  (0) 2015.02.06
FileOutputStream  (0) 2015.01.31
서버에서 입력할때 엔터칠때마다 보내지는 소스  (0) 2015.01.31
스캐너  (0) 2015.01.31