Socket 으로 채팅 구현

 

다대다 채팅 기능 구현중. 완성하면 업데이트 예정
업데이트 : 멀티 채팅 구현 : 
https://moluuuuuuuu.blogspot.com/2023/03/blog-post.html



import java.io.BufferedReader;
import java.io.DataInputStream;
import java.io.DataOutputStream;
import java.io.InputStreamReader;
import java.net.ServerSocket;
import java.net.Socket;

public class Server {
	public static void main(String[] args) throws Exception {
		ServerSocket ss;
		Socket s;
		DataInputStream in;
		DataOutputStream out;
		
		ss = new ServerSocket(2400);
		s = ss.accept();
		new Sender(s).start();
		new Receiver(s).start();
	}
}
class Sender extends Thread {
	Socket s;
	DataOutputStream out;
	BufferedReader in;
	Sender(Socket sk) {
		s = sk;
		try { out = new DataOutputStream(s.getOutputStream()); } catch (Exception e) {}
		in = new BufferedReader(new InputStreamReader(System.in));
	}
	@Override
	public void run() {
		while (true) 
			try { out.writeUTF(in.readLine()); } catch (Exception e) {}	
	}
}
class Receiver extends Thread {
	Socket s;
	DataInputStream in;
	Receiver(Socket sk) {
		s = sk;
		try { in = new DataInputStream(s.getInputStream()); } catch (Exception e) {}
	}
	@Override
	public void run() {
		while (true) 
			try { System.out.println(in.readUTF()); } catch (Exception e) {}
	}
}

import java.net.Socket;

public class Client {

	public static void main(String[] args) throws Exception {
		Socket s = new Socket("localhost", 2400);
		new Sender(s).start();
		new Receiver(s).start();
	}
}

댓글

이 블로그의 인기 게시물

substring 예제: 문자열을 입력 받아 한 글자씩 회전시켜 모두 출력하는 프로그램을 작성하라

단체 채팅 구현