다중 접속 서버 구현

Multi-threading

Multi-threading 을 이용한 다중 접속 서버, 문자열 전송 - 동시에 많은 접속자를 처리할 수 있습니다.

서버 생성

ThreadServer.java

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

public class ThreadServer {
public static void main(String[] args) {
System.out.println("****************************************");
System.out.println("Thread를 이용한 다중 접속 서버 작동됨...");
System.out.println("****************************************");

        ServerSocket server = null;
        int connectCount=0;
        
        try {
            server = new ServerSocket(2022);

            while(true) {
                Socket client = server.accept();

                InetAddress ia = client.getInetAddress();
                int port = client.getLocalPort();// 접속에 사용된 PORT 
                String ip = ia.getHostAddress(); // 원격 Client IP 
                
                ++connectCount;  //접속자수 카운트
                System.out.print(connectCount);
                System.out.print("클라이언트 접속-Local Port: "+ port);
                System.out.println(" Client IP: " + ip);
                
                //Client와 통신할 스레드 구현 클래스
                Handler handler = new Handler(client);
                handler.start();
            }
        } catch(IOException ioe) {
            System.err.println("Exception generated...");
        } finally {
            try {
                server.close();
            } catch(IOException ignored) {}
        }
    }
}

Handler.java

클라 생성

ThreadClient.java

실행 하기

다중 접속 동시 처리

Multi-threading을 이용한 다중 접속 서버, 난수 발생을 이용한 실시간 주가 전송 - 동시에 많은 접속자를 처리할 수 있습니다.

서버 생성

ThreadServer2.java

StockHandler.java

클라 생성

ThreadClient2.java

실행 하기

  • 서버 실행

  • 클라이언트 살행 - 추가 CMD 실행

Last updated