1.java.net.Socket; 소켓은 TCP 통신 프로토콜을 캡슐화하며 TCP를 기반으로 원격 컴퓨터의 서버 애플리케이션과 연결하고 통신하는 데 사용할 수 있습니다.
소켓 인스턴스화는 서버와의 연결을 설정하는 프로세스입니다. 여기서는 서버 주소 정보를 지정하기 위해 두 가지 매개변수를 전달해야 합니다.
매개변수 1: 서버 컴퓨터 주소
매개변수 2: 서버 컴퓨터에서 실행되는 서버 애플리케이션에 의해 열린 서비스 포트
서버 컴퓨터는 IP를 통해 찾을 수 있습니다. 포트를 사용하면 서버 터미널에서 실행되는 서버 응용 프로그램에 연결할 수 있습니다. 인스턴스화는 연결 프로세스이므로 서버가 응답하면 여기에서 소켓을 인스턴스화하면 예외가 발생합니다.
소켓 제공 방법:
OutputStream getOutputStream()
소켓을 통해 얻은 입력 스트림에서 작성된 바이트는 네트워크를 통해 원격 컴퓨터로 전송됩니다. 이는 서버로 보내는 것과 같습니다.
2. 서버에서 실행되는 java.net.ServerSocket;
주로 두 가지 기능이 있습니다.
1. 외부 서비스 포트를 시스템에 적용합니다. 클라이언트 소켓은 이 포트를 통해 서버 프로그램과 연결을 설정합니다.
2. 서비스 포트를 수신합니다. 클라이언트 소켓이 이 포트를 통해 연결을 시도하면 serverSocket이 클라이언트와 통신하기 위해 소켓을 감지하고 인스턴스화합니다.
ServerSocket이 제공하는 메소드:
Socket accept()
이 메소드는 클라이언트가 연결될 때까지 서비스 포트를 수신하는 데 사용되는 차단 메소드입니다. 클라이언트와 통신할 수 있는 소켓이 여기에 반환됩니다.
소켓을 통해 입력 스트림을 얻고, 읽은 데이터는 원격 컴퓨터에서 보낸 데이터입니다. 이는 읽을 때 클라이언트가 보낸 데이터와 동일합니다.
InputStream in = socket.getInputStream();
버퍼 스트림을 사용하여 클라이언트에서 보낸 문자열 줄을 읽을 때 br.readLine 메서드는 클라이언트 연결이 끊어질 때까지 차단됩니다. 클라이언트 시스템에 따라 다릅니다. Windows 클라이언트의 연결이 끊어지면 메서드에서 예외가 발생합니다. Linux 클라이언트의 연결이 끊어지면 메서드는 null을 반환합니다
위 내용은 Java에서 Socket의 메소드와 기능에 대한 자세한 설명의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!