> Java > java지도 시간 > 본문

Java를 사용하여 UDP를 통해 간단한 계산기 구현 Java에서 UDP를 사용하여 간단한 계산기 구현

王林
풀어 주다: 2023-08-27 21:33:02
앞으로
1101명이 탐색했습니다.

使用Java通过UDP实现简单计算器

在Java中使用UDP实现一个简单的计算器

인터넷 프로토콜 제품군에는 인터넷을 통해 장치 간 통신을 가능하게 하는 모든 유형의 프로토콜이 포함되어 있습니다. UDP는 이 제품군의 프로토콜 중 하나이며 전체 형식은 사용자 데이터그램 프로토콜입니다. TCP와 달리 신뢰할 수 없고 연결이 없는 프로토콜입니다. 데이터를 보내기 전에 다른 장치와 어떤 유형의 연결도 설정하지 않습니다.

이 기사에서는 Java에서 UDP를 사용하여 간단한 클라이언트-서버 계산기를 개발합니다. 클라이언트는 작업을 요청하고, 서버는 그 결과를 계산하여 클라이언트 장치로 보냅니다.

자바 네트워크

먼저 Java 네트워킹에 대한 몇 가지 기본 개념을 간략하게 이해하겠습니다−

아이넷 주소

IP 주소는 인터넷에서 장치를 고유하게 식별하는 32비트 또는 128비트의 부호 없는 숫자입니다. 숫자로 된 주소보다 IP 호스트의 이름을 기억하는 것이 더 쉽습니다. 따라서 "InetAddress" 클래스를 사용하여 이를 캡슐화해야 합니다. 우리는 내장된 메소드 "getLocalHost()"를 사용하여 로컬 호스트의 IP 주소를 얻습니다.

데이터그램

인터넷을 통해 두 컴퓨터 간에 전달될 수 있는 데이터가 포함된 작은 패킷입니다. Java는 UDP 연결을 설정하기 위해 두 개의 클래스를 구현합니다. -

DatagramSocket 클래스는 데이터그램 패킷을 보내고 받는 데 사용됩니다. 또한 이러한 패키지의 대상도 결정합니다. 내장 메소드 'send()''receive()'는 각각 데이터 패킷을 보내고 받는 데 사용됩니다.

문법

으아악

DatagramPacket 클래스의 객체는 전송할 데이터를 저장합니다.

문법

으아악

UDP를 사용한 계산기 프로그램

클라이언트 프로그램

코드 작동 방식

  • Java 네트워킹과 관련된 모든 클래스에 액세스하는 데 사용되는 'java.net'과 입력 및 출력 스트림에 사용되는 'java.io'라는 두 가지 가장 중요한 패키지를 가져오는 것으로 시작합니다. 'Scanner' 클래스를 사용하려면 'java.util' 패키지를 사용하세요.

  • UDP 연결을 설정하고 로컬 호스트 주소를 가져옵니다.

  • 이제 try 블록 내에서 'DatagramSocket' 클래스의 'send()' 및 'receive()' 메서드를 통해 사용자 입력을 요청하여 작업을 요청하고 그에 따른 결과를 받습니다.

으아악

서버측 프로그램

코드 작동 방식

  • 먼저 클라이언트와 연결을 설정하고 "DatagramSocket" 클래스의 "send()" 및 "receive()" 메서드를 사용하여 데이터 패킷을 보내고 받을 DatagramPacket 클래스의 두 개체를 정의합니다.

  • try 블록 내에서는 클라이언트로부터 요청을 받은 다음 스위치 케이스를 사용하여 작업을 수행하고 결과를 클라이언트 장치로 보냅니다.

으아악

두 프로그램을 동시에 실행하려면 로컬 컴퓨터에서 두 cmd를 동시에 엽니다. 첫 번째 cmd 인터페이스에서 서버측 프로그램을 컴파일하고 실행한 후 다른 인터페이스에서 클라이언트 프로그램을 실행합니다.

클라이언트 출력

으아악

서버측 출력

으아악

0을 입력하면 연결이 종료되고 프로그램 실행이 중지됩니다.

결론

이 기사에서는 Java 네트워킹의 몇 가지 기본 개념에 대해 배웠습니다. 또한 UDP를 사용하는 간단한 계산기에 대한 서버측 및 클라이언트측 프로그램에 대해 논의했습니다. 우리는 Java를 사용하여 클라이언트와 서버 장치 간의 연결을 설정하는 방법을 발견했습니다.

위 내용은 Java를 사용하여 UDP를 통해 간단한 계산기 구현 Java에서 UDP를 사용하여 간단한 계산기 구현의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

원천:tutorialspoint.com
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿