TCP/IP socket (간단한 server/client)
간단한 TCP/IP Server
ServerSocket server = new ServerSocket([[서버 포트]]);while (true) { Socket socket = server.accept(); //----[ 데이터 받아서 처리하기 ]---------------------------------------- InputStream inputStream = socket.getInputStream(); InputStreamReader inputStreamReader = new InputStreamReader(inputStream); BufferedReader bufferedReader = new BufferedReader(inputStreamReader); String data = ""; char[] chars = new char[256]; int length; while ((length = bufferedReader.read(chars)) != -1) { String newData = new String(chars, 0, length); // 새로 전송받은 데이터(newData) 처리 data += newData; } [[전송받은 전체 데이터(data) 처리]] //----[ Client에게 데이터 보내기 ]---------------------------------------- OutputStream outputStream = socket.getOutputStream(); OutputStreamWriter outputStreamWriter = new OutputStreamWriter(outputStream); PrintWriter printWriter = new PrintWriter(outputStreamWriter); printWriter.print([[보낼 데이터]]); printWriter.flush(); //----[ Client와의 연결 종료 ]---------------------------------------- printWriter.close(); outputStreamWriter.close(); outputStream.close(); bufferedReader.close(); inputStreamReader.close(); inputStream.close(); socket.close(); // 전송받은 전체 데이터가 종료 명령이면 break}server.close(); |
간단한 TCP/IP Client
Socket socket = new Socket("[[IP]]", [[Port]]);//----[ Server에게 데이터 보내기 ]----------------------------------------OutputStream outputStream = socket.getOutputStream();OutputStreamWriter outputStreamWriter = new OutputStreamWriter(outputStream);PrintWriter printWriter = new PrintWriter(outputStreamWriter); printWriter.print([[보낼 내용]]);printWriter.flush();//----[ Server가 보내는 값 받아서 처리하기 ]----------------------------------------InputStream inputStream = socket.getInputStream();InputStreamReader inputStreamReader = new InputStreamReader(inputStream);BufferedReader bufferedReader = new BufferedReader(inputStreamReader);String data = "";char[] chars = new char[256];int length;while ((length = bufferedReader.read(chars)) != -1) { String newData = new String(chars, 0, length); // 새로 전송받은 데이터(newData) 처리 data += newData;} [[전송받은 전체 데이터(data) 처리]]//----[ Server와의 연결 종료 ]----------------------------------------bufferedReader.close();inputStreamReader.close();inputStream.close();printWriter.close();outputStreamWriter.close();outputStream.close();socket.close(); |
댓글
댓글 쓰기