새소식

인기 검색어

개인공부/Java

Unicast 프로그램

  • -

UniClient.java

import java.io.*; import java.net.*; public class UniClient { private String ip; private int port; private String str; MsgListener msgListener = null; msgWriter msgWriter = null; public UniClient(String ip, int port) throws IOException { this.ip = ip; this.port = port; Socket tcpSocket = getSocket(); msgListener = new MsgListener(tcpSocket); msgWriter = new msgWriter(tcpSocket); msgListener.start(); msgWriter.start(); } public Socket getSocket() { Socket tcpSocket = null; try { tcpSocket = new Socket(ip, port); } catch (IOException ioe) { ioe.printStackTrace(); System.exit(0); } return tcpSocket; } public static void main(String[] args) throws IOException { new UniClient("localhost", 12345); } } class MsgListener extends Thread { Socket socket; private String str; MsgListener(Socket _s) { this.socket = _s; } public void run() { try { InputStream is_socket = socket.getInputStream(); BufferedReader bufferR = new BufferedReader( new InputStreamReader(is_socket)); while (true) { str = bufferR.readLine(); if (str.equals("bye")) { System.out.println("소켓통신 종료하겠습니다."); break; } else { System.out.println("Echo Result : " + str); } } } catch (Exception e) { System.out.println("err"); } } } class msgWriter extends Thread { Socket socket; private String str; BufferedReader file; msgWriter(Socket _s) { this.socket = _s; } public void run() { try { OutputStream os_socket = socket.getOutputStream(); BufferedWriter bufferW = new BufferedWriter( new OutputStreamWriter(os_socket)); while (true) { Thread.sleep(1000); System.out.print("입력 : "); file = new BufferedReader( new InputStreamReader(System.in)); str = file.readLine(); // str += System.getProperty("line.separator"); 구버전용 개행문자 str += System.lineSeparator(); bufferW.write(str); bufferW.flush(); } } catch (Exception e) { System.out.println("err"); } } }

UniServer.java

import java.io.*; import java.net.ServerSocket; import java.net.Socket; public class UniServer { ServerSocket ss = null; Client cients; public static void main(String[] args) { UniServer server = new UniServer(); Socket socket = null; try { server.ss = new ServerSocket(12345); System.out.println("Server > Server Socket is Created... "); while (true) { socket = server.ss.accept(); UniChat c = new UniChat(socket); c.start(); } } catch (IOException e) { System.out.println("Server > 입출력예외 발생"); } } } class UniChat extends Thread { Socket socket; private BufferedReader bufferR; private BufferedWriter bufferW; private InputStream is; private OutputStream os; UniChat(Socket _socket) { this.socket = _socket; } public void run() { try { is = socket.getInputStream(); os = socket.getOutputStream(); while (true) { bufferR = new BufferedReader(new InputStreamReader(is)); bufferW = new BufferedWriter(new OutputStreamWriter(os)); String message = bufferR.readLine(); System.out.println("수신메시지 : " + message); message += System.getProperty("line.separator"); bufferW.write(message); bufferW.flush(); } } catch (Exception e) { System.out.println("에러"); } } }
Contents

포스팅 주소를 복사했습니다

이 글이 도움이 되었다면 공감 부탁드립니다.