반응형
자바, TCP 통신 (서버/클라이언트) 연결 설정 및 통신 예제
[Server.java]
package tcp_networking;
import java.io.IOException;
import java.net.InetSocketAddress;
import java.net.ServerSocket;
import java.net.Socket;
public class Server {
public static void main(String[] args) {
ServerSocket serverSocket = null;
try {
serverSocket = new ServerSocket();
serverSocket.bind(new InetSocketAddress("localhost", 5001));
while(true) {
System.out.println("[연결 기다림!]");
Socket socket = serverSocket.accept();
InetSocketAddress isa = (InetSocketAddress) socket.getRemoteSocketAddress();
System.out.println("[연결 수락함] " + isa.getHostName());
}
} catch (Exception e) {
e.printStackTrace();
}
if (!serverSocket.isClosed() ) {
try {
serverSocket.close();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
}
[Client.java]
package tcp_networking;
import java.net.InetSocketAddress;
import java.net.Socket;
public class Client {
public static void main(String[] args) {
Socket socket = null;
try {
socket = new Socket();
System.out.println("[연결 요청]");
socket.connect(new InetSocketAddress("localhost", 5001));
System.out.println("[연결 성공]");
} catch (Exception e) {
e.printStackTrace();
}
try {
if (!socket.isClosed()) {
socket.close();
}
} catch (Exception e) {
e.printStackTrace();
}
}
}
서버 실행 후, 클라이언트 실행 시 서버 화면 변화
[연결 기다림!]
[연결 수락함] 127.0.0.1
[연결 기다림!]
서버 실행 후, 클라이언트 실행 시 클라이언트 화면 변화
[연결 요청]
[연결 성공]
데이터를 주고받거나 멀티스레드로 처리하는 부분은 동영상을 참고하세요.
[참고] 이것이 자바다 - 18.7 TCP 네트워킹(1)
[참고] 이것이 자바다 - 18.7 TCP 네트워킹(2)
반응형
'JAVA' 카테고리의 다른 글
JAVA JDK 1.8 다운로드 사이트 (0) | 2022.05.25 |
---|---|
자바, 시작 끝 값 입력받고 x-x-x-x-x 형태 출력하기 (0) | 2022.05.14 |
자바 키보드 입력 세 가지 예제 (0) | 2022.05.12 |
Java Full Course 동영상 (0) | 2021.09.02 |
자바 String, StringBuilder, StringBuffer 속도 비교 (0) | 2021.08.08 |