2 min to read
JAVA_IO_TCP CLIENT 구현하기
JAVA_IO 사용법 및 TCP 개념
JAVA IO(TCP) Client 구현
Package import java.net.Socket
TCP방식을 이용한 간단한 클라이언트 구현
TCP(Transmission Control Protocol)
TCP/UDP 연결 방식 및 특징
TCP | UDP | |
---|---|---|
연결방식 | 연결형 프로토콜 연결 후 통신 1:1 통신방식 |
비연결형 프로토콜 연결 없이 통신 1:1, 1:N, N:N 통신 방식 |
특징 | 데이터 경계 구분안함 신뢰성 있는 데이터 전송 데이터 전송 순서 보장 데이터의 수신 여부 확인 패킷을 관리할 필요가 없음 UDP보다 느림 |
데이터의 경계를 구분함 신뢰성 없는 데이터 전송 데이터의 전송 순서가 바뀔 수 있음 데이터의 수신 여부를 확인 안함 패킷을 관리해야함 TCP보다 전송속도가 빠름 |
관련클래스 | Socket ServerSocket |
DatagramSocket DatagramPacket MulticastSocket |
생성자 사용방법
// 기본 생성자 생성 방법
Socket Socket = new ServerSocket("localhost", 8000);
// 또는
Socket Socket = new ServerSocket("127.0.0.1", 8000);
// IP 는 서버 IP 입력
// *뽀나스* 현재 클라이언트 IP 를 얻어옴.
Inet4Address.getLocalHost();
// 아래는 IP 출력
System.out.println(Inet4Address.getLocalHost());
클라 구현 소스
try {
Socket socket = new Socket("127.0.0.1", 8000); //서버IP 와 포트
// 서버로 보낼 데이터 스트림을 통해 입력
BufferedWriter bw = new BufferedWriter(
new OutputStreamWriter(
socket.getOutputStream()));
bw.write("클라이언트 에서 보낸 메시지 "+Inet4Address.getLocalHost());
bw.newLine(); // 메시지의 끝을 알림
bw.flush(); // 힘줘서 쭉 데이터를 전송
// 서버에서 보낸 데이터를 읽음
BufferedReader br = new BufferedReader(
new InputStreamReader(
socket.getInputStream()));
// 읽어들임
String ser_Msg = br.readLine(); //서버 메세지 수신
System.out.println(">> "+ser_Msg); //출력
// 소켓 닫음
socket.close();
} catch (Exception e) {
// TODO: handle exception
}
Comments