간단한 채팅 앱 개발하기
Thread 기반의 채팅 서버/클라이언트 만들기
채팅 서버 생성
ChatServerThread.java
package chatting;
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.OutputStreamWriter;
import java.net.InetAddress;
import java.net.ServerSocket;
import java.net.Socket;
public class ChatServerThread {
private Socket socket=null;
private ServerSocket server = null;
int connectCount=0;
public void serverStart(){
System.out.println("접속자를 기다리는 중입니다.");
try {
server = new ServerSocket(2022);
socket = server.accept();
InetAddress ia = socket.getInetAddress();
int port = socket.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);
//데이터를 읽어오는 스레드
ChatServerReadHandler read = new ChatServerReadHandler(socket);
read.start();
//데이터를 보내는 스레드
ChatServerSendHandlersend = new ChatServerSendHandler(socket);
send.start();
} catch(IOException ioe) {
System.err.println("연결이 되어 있지 않습니다.");
} finally {
try {
server.close();
} catch(IOException ignored) {}
}
}
public static void main(String[] args) {
ChatServerThread cs = new ChatServerThread();
cs.serverStart();
}
}ChatServerReadHandler.java
데이터를 읽어오는 ReadHandler 생성
데이터를 보내는 SendHandler 생성
ChatServerSendHandler.java
채팅 클라 생성
ChatClientThread.java
데이터를 읽어오는 클라이언트 ReadHandler 생성
데이터를 보내는 클라이언트 SendHandler 생성
실행 하기
CMD 를 실행합니다.
멀티 채팅 앱 구현하기.
멀티 채팅 서버 생성
ChatServerThreadMulti.java
ReadHandler 생성
ChatServerReadHandler.java
멀티 채팅 클라 생성
ChatClientThreadMulti.java
클라이언트 ReadHandler 생성
ChatClientReadHandler.java
클라이언트 SendHandler 생성
ChatClientSendHandler.java
실행 하기
Last updated