자바 소켓 쓰레드 예제

1. 서버 소켓을 만들고 특정 포트 번호에 바인딩하는 현재 상태의 예제는 서버 프로그램과 하나의 클라이언트 프로그램 간에만 작동합니다. 여러 클라이언트 연결을 허용하려면 서버 프로그램을 다중 스레드 서버 프로그램으로 변환해야 합니다. 예제 1은 하나의 서버 프로그램과 하나의 클라이언트 프로그램 간에 클라이언트 및 서버 통신을 설정합니다. 서버 프로그램은 다중 스레드가 아니며 두 개 이상의 클라이언트의 요청을 처리할 수 없습니다. 그 이유는 간단하다, 우리는 하나의 클라이언트가 특정 시간에 서버에 연결하는 것이 아니라 동시에 많은 클라이언트를 원하지 않는다. 아키텍처가 동시에 여러 클라이언트를 지원하기를 원합니다. 따라서 클라이언트 요청이 올 때마다 각 요청을 처리하기 위해 별도의 스레드를 할당할 수 있도록 서버 측의 스레드를 사용해야 합니다. Java에서 멀티스레딩하는 것은 여러 스레드를 동시에 실행하는 프로세스입니다. 다중 스레드 프로그램에는 동시에 실행할 수 있는 두 개 이상의 프로세스가 포함되어 있으며 각 프로세스는 다른 작업을 동시에 처리할 수 있으므로 컴퓨터에 CPU가 여러 개 있을 때 사용 가능한 리소스를 최적으로 사용할 수 있습니다. 여러 스레드를 동시에 실행하는 프로세스를 다중 스레딩이라고 합니다. 자바에서 소켓 프로그래밍에 대한이 세부 사항에 대한 많은 감사합니다.

초보자로서 나는이 소켓 프로그래밍 가이드와 정보를 찾고 있었다. 프로그램을 실행하는 것이 매우 중요하기 때문에 이를 정의했습니다. 계속 공유하세요. 여기에서 서버는 소켓이 스트림으로 닫혀질 때까지 클라이언트와 메시지를 끝없이 교환할 수 있습니다. 예를 들어, Date-Time 서버가 한 장소에 있다고 가정해 보겠습니다. 또한 특정 시간에 두 개의 요청이 서버에 도착한다고 가정합니다. 기본 서버-클라이언트 프로그램을 사용하면 나노 초라도 먼저 오는 요청은 서버에 연결할 수 있으며 다른 요청은 여러 요청을 동시에 처리하기위한 메커니즘이 제공되지 않으면 거부됩니다. 이 문제를 극복하기 위해 네트워크 프로그래밍에서 스레딩을 사용합니다. 다음 문서에서는 여러 클라이언트 요청을 동시에 처리하기 위한 간단한 Date-Time 서버를 만드는 데 중점을 둡니다.

서버 프로그램은 listenSocket 메서드에서 포트 4321에 소켓 연결을 설정합니다. 전송된 데이터를 읽고 해당 작업수행 메서드에서 동일한 데이터를 서버로 다시 보냅니다.

カテゴリー: 未分類 パーマリンク