2018년 4월 27일 금요일

(4. 27.) 채팅 프로그램 만들기-Server

1. 서버 측 프로그램 구성


2. 소스 분석


  1) 멤버변수
---------ArrayList<DataOutputStream> list = new ArrayList<DataOutputStream>();

  2) 생성자
---------Socket s = socket.accept();
ServerThread serverThread = new ServerThread(s);

serverThread.start();
   3) Broadcast
---------synchronized (list) {
for(DataOutputStream tmp:list) {
                        tmp.writeUTF(msg);
   4) 메인

   5) ServerThread
---------생성자(메서드 파라미터: 소켓)
dis = new DataInputStream(s.getInputStream());
dos = new DataOutputStream(s.getOutputStream());
list.add(dos);
   

---------run(@Override)while(true) {
String msg = dis.readUTF();
DataOutputStream dos = new DataOutputStream(s.getOutputStream());
//dos.writeUTF(msg);
broadCast(msg);
}

3. 사용 클래스
   - IO: DataOutputStream, DataInputStream
   - NET: ServerSocket, Socket
   - etc.: ArrayList, String, Exception
   3-1) 소켓 접속방법
Socket ss = new Socket("111.222.333.55", 1111);
Socket s1 = new Socket(new InetSocketAddress("www.naver.com", 1111), null, daemon);
Socket s21 = new Socket();

s21.connect(new InetSocketAddress("www.naver.com", 1111));


댓글 없음:

댓글 쓰기

[Android Studio] Installation and Make a Layer for Mac OS(High Sierra)

1. download android studio https://developer.android.com/studio/#downloads 2. Make a Shared Resource(String in this case) 3...