19일 차 Socket 통신으로 채팅방 만들기
import java.io.IOException;
import java.net.DatagramPacket;
import java.net.DatagramSocket;
import java.net.InetAddress;
import java.util.Scanner;
public class Chat_Send2 implements Runnable {
boolean ex = true;
@Override
public void run() {
// TODO Auto-generated method stub
DatagramSocket socket = null;
DatagramPacket packet = null;
byte[] buf;
Scanner scan = new Scanner(System.in);
System.out.println("종료 라고 입력받으면 채팅이 종료됩니다");
try {
socket = new DatagramSocket();
while (ex) {
String msg = scan.nextLine();
buf = msg.getBytes();
packet = new DatagramPacket(buf, buf.length, InetAddress.getByName("70.12.115.108"), 5001);
socket.send(packet);
if (msg.equals("종료")) {
System.out.println("채팅이 종료되었습니다");
ex = false;
System.exit(1);
}
}
} catch (IOException e) {
e.printStackTrace();
}
}
}
쓰레드를 이용한 채팅방입니다.
오고 나가는 포트번호가 동일해야 하며
본인이 보내는 포트가5000인데 받는 포트도 5000이면 안되므로
보내는 포트는 5000 받는 포트는 5001로 하고
상대방이 보내는 포트는 5001 받는 포트는 5000으로 설정하면 되겠습니다.
쌍방향 통신이 이뤄지며
종료라고 입력받을 시 프로그램이 종료됩니다