티스토리 뷰
안녕하세요 박스여우입니다.
이번에는 Socket - 소켓을 이용해 간단한 서버와 클라이언트간의 통신을 해보도록 하겠습니다.
우선, Socket-소켓 이란?
소켓은 TCP/IP 소켓 프로그래밍의 소켓입니다. 그럼 우선 TCP/IP라는 놈에대해서 알아봐야 겠네요
TCP/IP는 통신규약으로 네트워크로 연결되있는 두개 이상의 호스트간의 데이터 전송을 위해 프로그래밍 한것이 TCP/IP 소켓프로그래밍 입니다.
그럼 소켓이란?
네트워크 간의 연결을 시켜주는 매계체 역할을 하고, 네트워크 연결도구로 운영체제에서 제공되는 소프트웨어 장치입니다.
그럼 이제 소켓을 이용한 간단한 통신을 해봅시다.
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 |
import java.io.DataInputStream;
import java.io.DataOutputStream;
import java.io.InputStream;
import java.io.OutputStream;
import java.net.ServerSocket;
import java.net.Socket;
public class test {
public static void main(String[] args){
try{
ServerSocket server = null;
Socket client;
server = new ServerSocket(서버포트); //ex 25565
while(true){
client = server.accept();
InputStream in = client.getInputStream();
OutputStream out = client.getOutputStream();
DataInputStream din = new DataInputStream(in);
DataOutputStream dout = new DataOutputStream(out);
String str = din.readUTF();
dout.writeUTF("박스여우");
System.out.println(str);
in.close();
out.close();
out.flush();
din.close();
dout.flush();
dout.close();
client.close();
}
}catch(Exception e){
}
}
}
|
cs |
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 |
import java.io.DataInputStream;
import java.io.DataOutputStream;
import java.io.InputStream;
import java.io.OutputStream;
import java.net.Socket;
public class Socket_Test {
public static void main(String[] args){
try{
Socket soc = new Socket("서버의 IP",서버포트);
OutputStream out = soc.getOutputStream();
InputStream in = soc.getInputStream();
DataOutputStream dout = new DataOutputStream(out);
DataInputStream din = new DataInputStream(in);
dout.writeUTF("블로그는?");
String str = din.readUTF();
System.out.println(str);
in.close();
out.close();
out.flush();
din.close();
dout.flush();
dout.close();
soc.close();
}catch(Exception e){
}
}
}
|
cs |
위의 통신결과로는 클라이언트에서는 "박스여우"가 출력될것이고
서버에서는 "블로그는?"이 출력될것입니다.
이상 박스여우의 Java - 간단한 TCP/IP Socket 프로그래밍 이였습니다.
'프로그래밍 > java' 카테고리의 다른 글
Java - File 이어쓰기 (389) | 2015.07.13 |
---|---|
java - JTextArea에 이미지 뿌리기 (0) | 2015.07.10 |
java - JMF 다운로드 (0) | 2015.07.06 |
Java 잡지식- 채팅시스템 자동스크롤 (0) | 2015.05.17 |
Java잡지식 - 네트워킹 (0) | 2015.05.17 |
댓글