[java] TCP/IP socket code(*.java, TCPIP 소켓 코드)
2022. 1. 25. 15:36ㆍLanguage/java
728x90
728x90
[java] 리눅스(linux) tcp/ip client socket(클라이언트 소켓), tcp/ip server socket(서버 소켓) 메시지(message) 송신, 수신(send/recv) 예제
-예제 실행하는 서버 정보
$ cat /etc/*release*
DISTRIB_ID=Ubuntu
DISTRIB_RELEASE=18.04
DISTRIB_CODENAME=bionic
DISTRIB_DESCRIPTION="Ubuntu 18.04.5 LTS"
NAME="Ubuntu"
VERSION="18.04.5 LTS (Bionic Beaver)"
ID=ubuntu
ID_LIKE=debian
PRETTY_NAME="Ubuntu 18.04.5 LTS"
VERSION_ID="18.04"
$ java -version
java version "1.7.0_80"
Java(TM) SE Runtime Environment (build 1.7.0_80-b15)
Java HotSpot(TM) 64-Bit Server VM (build 24.80-b11, mixed mode
-linux jdk 설치 참고.
-java tcp/ip server socket 코드(serverSocket.java)
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.io.OutputStream;
import java.io.PrintWriter;
import java.net.ServerSocket;
import java.net.Socket;
public class serverSocket {
public static void main(String[] args) {
try {
ServerSocket serverSocket = new ServerSocket(12345);
Socket socketUser = null;
socketUser = serverSocket.accept();
String msg = "serverSocketMsg";
InputStream input = socketUser.getInputStream();
BufferedReader reader = new BufferedReader(new InputStreamReader(input));
System.out.println("recv msg : " + reader.readLine());
OutputStream out = socketUser.getOutputStream();
PrintWriter writer = new PrintWriter(out, true);
writer.println(msg);
System.out.println("send msg : " + msg);
out.close();
input.close();
serverSocket.close();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
-java tcp/ip client socket 코드(clientSocket.java)
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.io.OutputStream;
import java.io.PrintWriter;
import java.net.Socket;
public class clientSocket {
public static void main(String[] args) {
try {
Socket socket = new Socket("127.0.0.1", 12345);
String msg = "clientSocketMsg";
OutputStream out = socket.getOutputStream();
PrintWriter writer = new PrintWriter(out, true);
writer.println(msg);
System.out.println("send msg : " + msg);
InputStream input = socket.getInputStream();
BufferedReader reader = new BufferedReader(new InputStreamReader(input));
System.out.println("recv msg : " + reader.readLine());
out.close();
input.close();
socket.close();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
-tcp/ip server socket 컴파일.
$ javac serverSocket.java
-tcp/ip client socket 컴파일.
$ javac clientSocket.java
-tcp/ip server socket 실행 결과.
$ java serverSocket
recv msg : clientSocketMsg
send msg : serverSocketMsg
-tcp/ip client socket 실행 결과.
$ java clientSocket
send msg : clientSocketMsg
recv msg : serverSocketMsg
728x90
728x90
'Language > java' 카테고리의 다른 글
[Java] JSON의 Key를 파싱하고 Value를 파일로 저장하는 방법. (0) | 2024.11.02 |
---|---|
[Java] jar 파일에 포함된 외부 라이브러리를 제거하는 방법. (0) | 2024.09.27 |
[java] 대칭 키(AES) 알고리즘을 사용해서 데이터를 Base64 방식으로 인코딩/디코딩하는 방법. (0) | 2022.11.16 |
[java] JSch 라이브러리 & DH 알고리즘 사용하여, java sftp client 환경 구축하는 방법.(*.java, sftp client code) (0) | 2022.03.25 |
[java] HTTP POST body data를 송/수신하는 서블릿 코드.(*.java, servlet code) (0) | 2022.02.14 |