반응형
ServerSocket Socket 통신 간단한 설명과 예제
서버와 클라이언트의 통신을 간단하게 그림으로 표현했습니다.
위 그림처럼 ServerSocket 생성 후 연결 시도, 요청승인 후 메시지 보내고 받는 예제입니다.
메시지 받은 후 소켓을 종료합니다.
1. Server 예제
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
|
import java.io.InputStream;
import java.net.InetSocketAddress;
import java.net.ServerSocket;
import java.net.Socket;
public class ServerTest {
int socketPort = 1111;
int bufferSize = 1024;
public void fncServer()
{
ServerSocket serverSocket;
Socket socket;
try
{
// ServerSocket 생성
serverSocket = new ServerSocket();
// 포트 바인딩
// IP 미입력 시 "localhost"가 기본값
serverSocket.bind(new InetSocketAddress(socketPort));
while(true)
{
// 연결 대기
// 요청 승인
socket = serverSocket.accept();
// 데이터 받는 부분
InputStream input = socket.getInputStream();
byte[] b = new byte[bufferSize];
int readCnt = input.read(b);
String msgStr = new String(b, 0, readCnt, "UTF-8");
input.close();
socket.close();
}
}
catch (Exception e)
{
// Exception 처리
}
}
}
|
cs |
2. Client 예제
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
|
import java.io.OutputStream;
import java.net.InetSocketAddress;
import java.net.Socket;
public class ClientTest {
int socketPort = 1111;
int bufferSize = 1024;
public void fncClient()
{
Socket socket;
try
{
// Socket 생성
socket = new Socket();
// 연결 시도
socket.connect(new InetSocketAddress("localhost", socketPort));
// 데이터 보내는 부분
OutputStream output = socket.getOutputStream();
String msgStr = "test message";
byte[] bytes = msgStr.getBytes();
// 보내기
output.write(bytes);
output.flush();
output.close();
}
catch (Exception e)
{
// Exception 처리
}
}
}
|
cs |
로컬에서 테스트 해보시면서 소스를 추가해가시면 도움이 될 것 같습니다.
728x90
반응형
'IT, 개발 > JAVA' 카테고리의 다른 글
JAVA - 자바에서 REST API 사용하기 예제 (GET, POST 방식) (0) | 2022.04.08 |
---|---|
자바 파일 전송 - JSch을 활용한 SFTP 파일 업로드 (0) | 2022.03.05 |
Spring Framework 개발 환경에서 MySql 적용하기 (0) | 2022.02.23 |
Logback 설정 파일 경로 지정 logback.xml 위치 변경 (0) | 2022.02.07 |
JAVA - 싱글톤(Singleton) 패턴 getinstance 사용법 예제 (0) | 2022.01.26 |