1 augusti, 2019 admin

소켓통신 프로그램 예제

일반적으로 서버는 네트워크의 특정 컴퓨터에서 실행되며 특정 포트 번호에 바인딩된 소켓이 있습니다. 이 경우 클라이언트와 동일한 컴퓨터를 사용하고 포트 6666에서 서버를 시작했습니다. 이전 페이지에서는 Socket 개체를 통해 기존 서버와 상호 작용하는 클라이언트 프로그램을 작성하는 방법에 대한 예제를 보여 주어 도있습니다. 이 페이지에서는 연결의 다른 쪽인 서버 프로그램을 구현하는 프로그램을 작성하는 방법을 보여 주며, 이 페이지를 작성합니다. 서버-클라이언트 통신의 자바 소켓 프로그래밍을 테스트하려면 먼저 SocketServerExample 클래스를 실행해야 합니다. 소켓 서버를 실행하면 ”클라이언트 요청 대기 중”을 인쇄한 다음 클라이언트 요청을 기다립니다. 소켓 및 ServerSocket 클래스는 연결 지향 소켓 프로그래밍에 사용되며 DatagramSocket 및 DatagramPacket 클래스는 연결 없는 소켓 프로그래밍에 사용됩니다. 서버 프로그램은 일반적으로 클라이언트 프로그램 네트워크에 리소스를 제공합니다. 클라이언트 프로그램은 서버 프로그램에 요청을 보내고 서버 프로그램은 요청에 응답합니다. 소켓의 입력 스트림을 반환합니다. 입력 스트림은 원격 소켓의 출력 스트림에 연결됩니다. 자바에서 소켓 프로그래밍을 빠르게 모집하기위한 것이 전부입니다.

나는 당신이 자바 소켓 서버와 자바 소켓 클라이언트 프로그래밍을 시작할 수 있기를 바랍니다. 둘 사이의 주요 차이점은 UDP가 연결되지 않는다는 것입니다. 자리를 차지할 수 있습니다. 소켓 시스템 호출은 파일 설명자 테이블(예: 작은 정수)에 항목을 반환합니다. 이 값은 이 소켓에 대한 모든 후속 참조에 사용됩니다. 소켓 호출에 실패하면 -1을 반환합니다. 이 경우 프로그램이 표시되고 오류 메시지가 표시되고 종료됩니다. 그러나 이 시스템 호출은 실패할 가능성이 낮습니다. 자바 소켓 프로그래밍 예제에 오신 것을 환영합니다.

모든 서버는 특정 시스템에서 실행되고 특정 포트에서 수신하는 프로그램입니다. 소켓은 포트 번호에 바인딩되며 서버를 실행하면 소켓에서 듣고 클라이언트 요청을 기다립니다. 예를 들어 포트 8080에서 실행 중인 tomcat 서버는 클라이언트 요청을 대기하고 클라이언트 요청을 받으면 응답합니다. 소켓이 원격 컴퓨터에 바인딩된 포트를 반환합니다. finalize() 메서드는 프로그램이 종료되기 전에 Java 가상 시스템(JVM)*에 의해 호출되어 프로그램이 리소스를 정리하고 릴리스할 수 있는 기회를 제공합니다. 다중 스레드 프로그램은 리소스 부족에 직면하지 않도록 종료하기 전에 사용하는 모든 파일 및 소켓을 닫아야 합니다. finalize() 메서드에서 server.close()에 대한 호출은 이 프로그램의 각 스레드에서 사용하는 소켓 연결을 닫습니다. 이를 수행하는 방법은 다른 스레드에서 클라이언트가 요청하는 모든 새 클라이언트 및 서비스에 대해 새 소켓을 만드는 것입니다. 동시에 제공되는 클라이언트 수는 실행 중인 스레드 수와 동일합니다. 소켓은 TCP를 사용하는 두 컴퓨터 간의 통신 메커니즘을 제공합니다. 클라이언트 프로그램은 통신 끝에 소켓을 만들고 해당 소켓을 서버에 연결하려고 시도합니다.