소켓통신시 서버부분 단일연결 부분 입니다. 즉 양방향이 아닌겁니다.
01.package Manager;
02. 
03. 
04.import java.io.BufferedReader;
05.import java.io.InputStream;
06.import java.io.InputStreamReader;
07.import java.io.OutputStream;
08.import java.io.OutputStreamWriter;
09.import java.io.PrintWriter;
10.import java.net.InetAddress;
11.import java.net.ServerSocket;
12.import java.net.Socket;
13. 
14. 
15.public class SocketS1 {
16.    public static void Start(){
17.        try{
18.             
19.           // 1. 10001번 포트에서 동작하는 ServerSocket을 생성
20.            ServerSocket server = new ServerSocket(10001);
21.            Manager.Mserver.Cview.append("Watin Connect..\n");
22.             
23.            // 2. ServerSocket의 accept() 메소드를 실행해서 클라이언트의 접속을 대기
24.            // : 클라이언트가 접속할 경우 accept() 메소드는 Socket 객체를 반환
25.            Socket sock = server.accept();
26.            InetAddress  inetaddr = sock.getInetAddress();
27.            Manager.Mserver.Cview.append(inetaddr.getHostAddress()+ " 로부터 접속했습니다.\n");
28.             
29.            // 3. 반환받은 Socket으로부터 InputStream과 OutputStream을 구함
30.            OutputStream out = sock.getOutputStream();
31.            InputStream in = sock.getInputStream();
32.             
33.            // 4. InputStream은 BufferedReader 형식으로 변환
34.            //    OutputStream은 PrintWriter 형식으로 변환
35.            PrintWriter pw = new PrintWriter(new OutputStreamWriter(out));
36.            BufferedReader br = new BufferedReader(new InputStreamReader(in));
37.            String line = null;
38.             
39.            //5. BufferedReader의 readLine() 메소드를 이용해
40.            //   클라이언트가 보내는 문자열 한 줄을 읽어들임
41.            while((line = br.readLine()) != null){
42.                Manager.Mserver.Cview.append("클라이언트로부터 전송받은 문자열 : \n"+line);
43.               
44.              // 6. PrintWriter의 println을 이용해 다시 클라이언트로 전송
45.              pw.println(line);
46.              pw.flush();
47.            }
48.         
49.            // 6. IO 객체와 소켓의 close() 메소드 호출
50.            pw.close();
51.            br.close();
52.            sock.close();
53.            } catch(Exception e){
54.                System.out.println(e);
55.            }
56.    }
57.}

'Programing > Java' 카테고리의 다른 글

(JAVA) 소켓통신 클라이언트 뼈대 부분  (0) 2012.03.22
(JAVA) 실시간 년/월/일/시/분/초 뽑아내기  (0) 2012.03.22
(JAVA) SHA-256 수정본  (0) 2012.03.22
(JAVA) SHA-256 - 원본  (0) 2012.03.22