\
2021.03.29 - [JAVA/JAVA(자바)설치 및 툴 이용(ECLIPSE)] - [JAVA] 자바 설치 및 환경 하기 JDK 1.8 버전
개발 환경
Window 10
JDK 1.8
이클립스 2020_03 버전
체팅을 하기 위해서는 체티을 처리할 서버와 사용자를 생성 해야한다 .
서버 전체 코드
여기에 필요한 개념
소켓 통신 개념 등등
서버 콘솔 과 클라이언 콘솔 간의 체팅 되는 코드이고
자신의 로컷에서 가능 하다
tcp 통신이기때문에 네트워크 공유된는 곳에서는 다른 pc도 접속이 가능하다.
package ex04.net.tcp;
import java.io.*;
import java.net.*;
public class ServerEx {
public static void main(String[] args) {
BufferedReader br = null, stin = null;
BufferedWriter bw = null;
//소켓
ServerSocket server = null;
Socket client = null;
System.out.println("연결됨 ... 나는 서버야!!");
try {
server = new ServerSocket(9999);
client = server.accept();
br = new BufferedReader(new InputStreamReader(client.getInputStream()));
//키보드로 부터 입력스트림
stin = new BufferedReader(new InputStreamReader(System.in));
//클러이언트의 출력 스트림
bw = new BufferedWriter(new OutputStreamWriter(client.getOutputStream()));
String inputMessage;
while(true) {
inputMessage = br.readLine();//클라이언트에서 한행으 문자열 읽음
///클라이어트가 "exit"를 보내면 연결 종료
if(inputMessage.equalsIgnoreCase("exit"))break;
//클라이언트가 보낸메세지 화면 출력
System.out.println(inputMessage);
//키보드에서 한 행의 문자열 읽음
String outputMessage = stin.readLine();
//키보드에서 읽은 문자열 전송
bw.write("marine 서버"+" "+ outputMessage+"\n");
bw.flush();
}
} catch (Exception e) {
System.out.println(e.getMessage());
}finally {
try { client.close(); server.close(); }
catch (IOException e) { System.out.println("클라이언트와 채팅 중 오류 발생....."); }
}
}
}
package ex04.net.tcp;
import java.net.*;
import java.io.*;
public class ClientEx {
public static void main(String[] args) {
BufferedReader br = null, stin = null;
BufferedWriter bw = null;
Socket client = null;
try {
client = new Socket("127.0.0.1", 9999); // 127.0.0.1 or 192.168.20.26
br = new BufferedReader(new InputStreamReader(client.getInputStream()));
stin = new BufferedReader(new InputStreamReader(System.in));
bw = new BufferedWriter(new OutputStreamWriter(client.getOutputStream()));
String outputMessage;
while(true) {
System.out.println("message input : ");
outputMessage = stin.readLine();
if( outputMessage.equalsIgnoreCase("exit")) {
bw.write(outputMessage);
bw.flush();
break;
} // end if
//키보드로부터 읽은 문자열 전송
bw.write("Client > " + outputMessage + "\n");
bw.flush();
String inputMessage = br.readLine();
System.out.println(inputMessage);
} // end while
} catch (Exception e) {
System.out.println(e.getMessage());
} finally {
try { client.close(); }
catch (IOException e) { System.out.println("Server 와 채팅 중 오류 발생....."); }
}
}
}
서버를 먼저 실행 한다
그리고 클이언 실행 한다
여기서 중요한거는
한 콘솔에서 대화가 되는것이 아니이기 때문에 유의 하자
콘솔 왔다리 갔다리하면 주고 받고 가능 하다
1:1 체팅 만된다
[JAVA]JDBC 연결 순서 /자바와 오라클 연결/연동/기본/오라클 중지 됬을때/작업 관리자 (0) | 2021.04.16 |
---|---|
[JAVA]Network/Datagram - UDP 체팅 (0) | 2021.04.16 |
[JAVA] javax/Swing/check 라디오 만들기 (0) | 2021.04.14 |
[JAVA] awt/frame 새창 띄우기 (0) | 2021.04.14 |
[JAVA]자바 Synchronized 동기화 / 금융거래 필수 (0) | 2021.04.14 |