2024/05/22 3

자바의 네트워크 프로그래밍2

TCP와 UDP의 차이점은 무엇이고 각각 어떤 상황에서 사용하는 것이 좋은지 설명해주세요.TCP(Transmission Control Protocol)와 UDP(User Datagram Protocol)는 모두 인터넷 프로토콜 스위트(Internet Protocol Suite)의 전송 계층(Transport Layer)에서 사용되는 프로토콜이지만, 몇 가지 중요한 차이점을 가지고 있습니다.1. 연결 방식:TCP: 연결 지향 프로토콜입니다. 데이터 전송 전에 송신자와 수신자 간에 연결을 설정하고, 데이터 전송이 끝나면 연결을 해제합니다. 이 연결 설정 과정을 통해 데이터 전송의 신뢰성을 보장합니다.UDP: 비연결형 프로토콜입니다. 연결 설정 과정 없이 데이터를 전송합니다. 따라서 TCP보다 빠르지만, 데이..

[프래피티] 2024.05.22

자바의 네트워크 프로그래밍

소켓 프로그래밍이란 무엇인가요? 어떤 경우에 소켓 프로그래밍을 사용하나요?소켓 프로그래밍(Socket Programming)은 컴퓨터 네트워크 상에서 데이터를 송수신하기 위해 소켓이라는 개념을 사용하는 프로그래밍 방법입니다. 소켓은 네트워크를 통해 서로 통신하고자 하는 두 개체(클라이언트와 서버) 간의 엔드포인트(endpoint)를 의미합니다. 소켓 프로그래밍은 주로 TCP/IP 프로토콜을 사용하여 네트워크 통신을 구현합니다.소켓의 종류TCP 소켓: 신뢰성 있는 데이터 전송을 보장합니다. 데이터를 전송할 때 손실이나 순서가 뒤바뀌지 않도록 보장합니다.UDP 소켓: 신뢰성보다 속도를 중시합니다. 데이터가 손실되거나 순서가 바뀔 수 있지만, 속도가 빠르고 네트워크 오버헤드가 적습니다.소켓 프로그래밍의 기본 ..

[프래피티] 2024.05.22

자바의 직렬화 3

transient 키워드의 역할과 사용 시 고려해야 할 점에 대해 설명해주세요.transient 키워드는 Java에서 직렬화(Serialization)와 관련된 중요한 역할을 합니다. 직렬화는 객체의 상태를 바이트 스트림으로 변환하여 파일에 저장하거나 네트워크를 통해 전송할 수 있도록 하는 과정입니다. 하지만 때로는 객체의 일부 필드가 직렬화되지 않도록 하고 싶을 때가 있습니다. 이러한 경우에 사용되는 것이 바로 transient 키워드입니다.transient 키워드의 역할직렬화에서 제외:transient 키워드가 붙은 필드는 직렬화 과정에서 제외됩니다. 즉, 객체가 직렬화될 때 이 필드의 값은 저장되지 않습니다. 직렬화된 객체를 역직렬화(Deserialization)할 때 transient 필드는 기본..

[프래피티] 2024.05.22