티스토리 뷰

프로그래밍/java

Java - TCP/IP Socket

박스여우 2015. 7. 10. 20:21

 

 

 

 안녕하세요 박스여우입니다.

이번에는 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 이어쓰기  (0) 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
댓글
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/04   »
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
글 보관함