클라이언트 정보는 입력 스트림을 통해 읽히고 이에 따라 출력 스트림을 통해 구현됩니다.
서버 클래스 코드 :
import java.io.bufferedReader; import java.io.ioexception; import java.io.inputStream; import java.io.inputStreamReader; import java.io.outputStream; import java.io.printwriter; import java.net.serverskets; import java.net.socket; import java.util. java.util.logging.logger;/** * * @author whn6325689 */public class server {// Server-side public static void main (String [] args) {try {// 1. 서버 측 소켓, 즉 Serversocket을 작성하고 바운드 포트를 지정 하고이 포트를 듣습니다. serversocket serversocket = new Serversocket (8888); // 2. CALL SERVERSOCKE의 acccept () 메소드 클라이언트가 System.out.println을 연결할 때까지 기다릴 수 있습니다. 입력 스트림이 클라이언트에서 보낸 로그인 정보를 읽을 수 있도록 입력 스트림을 가져옵니다. IS = socket.getInputStream (); // byte input stream inputStreamReader isr = new inputStreamReader (is); // byte 스트림을 문자 스트림으로 변환 // 문자 스트림 버퍼링 리더 = 새 버퍼드 리더 (ISR)에 대한 버퍼링 리더 추가. while ((info = bufferedReader.Readline ())! = null) {System.out.println ( "나는 서버이며 클라이언트가 제출 한 정보는"+info);} socket.shutdownInput (); // 4입니다. 출력 스트림을 가져 와서 클라이언트의 요청 출력 outStream os = socket.getOutputStream (); printWriter pw = new PrintWriter (OS); // print stream pw.write ( "Welcome!"); pw.flush (); // Fresh Cache // 5로 변환하십시오. 닫기 관련 리소스 bufferedReader.close (); is.close (); isr.close (); socket.close (); serversocket.close (); os.close (); pw.close ();} catch (ioexception ex) {logger.getLogger (server.class.getname ()).클라이언트 클래스 코드 :
import java.io.bufferedReader; import java.io.ioexception; import java.io.inputStream; import java.io.inputStreamReader; import java.io.outputStream; import java.io.printwriter; import java.net.socket; import java.util.logging.logging; import; java.util.logging.logger;/** * * @author whn6325689 */public class client {// client public static void main (String [] args) {try {// 1. 클라이언트 소켓 생성, 서버 주소 및 포트 번호를 지정하십시오. 소켓 소켓 = 새로운 소켓 ( "127.0.0.1", 8888); // 2. 출력 스트림을 서버 출력 스트림 os = socket.getOutputStream (); // byte 출력 스트림으로 보내기 시작하자 PrintWriter pw = new PrintWriter (OS); pw.write ( "username : admin; password : admin"); pw.flush (// cache 및 출력 정보를 서버에 새로 꺼내십시오. 입력 스트림이 서버에서 응답 정보를 읽으려면 입력 스트림을 가져옵니다. inputStream은 = socket.getInputStream (); bufferedReader br = new bufferedReader (new inputStreamReader (is)); String info = null; while (info = br.readline ()) {null) {system.out.println ( "클라이언트,}/4); 자원을 닫으십시오 br.close (); is.close (); pw.close (); os.close (); socket.close ();} catch (ioexception ex) {logger.getLogger (client.class.getName ()). log (level.severe, null, ex);}}}}}}}}}.서버 측 클래스를 먼저 실행 한 다음 클라이언트 클래스를 실행하십시오.
서버 측 클래스 출력 결과 :
== 서버가 시작하려고합니다. 클라이언트가 연결되기를 기다리고 있습니다. 비밀번호 : 관리자
클라이언트 클래스의 출력 결과 :
나는 클라이언트이고 서버에서 반환 한 정보는 다음과 같습니다.
요약
위는 Java Socket 프로그래밍 서버 응답 클라이언트 인스턴스 코드에 대한이 기사의 전체 내용입니다. 모든 사람에게 도움이되기를 바랍니다. 관심있는 친구들은이 사이트를 계속 참조 할 수 있습니다.
Java 프로그래밍 소켓은 여러 클라이언트가 동일한 서버 코드에 연결하도록 구현합니다.
Java Multithreaded 프로그래밍에서 소켓 통신 구현을위한 샘플 코드
단점이 있으면 메시지를 남겨 두십시오. 이 사이트를 지원해 주신 친구들에게 감사드립니다!