> 일반적인 문제 > 소켓 프로그래밍이란?

소켓 프로그래밍이란?

小老鼠
풀어 주다: 2023-07-07 10:55:14
원래의
1867명이 탐색했습니다.

소켓 프로그래밍은 전송 계층에서 애플리케이션 계층으로 제공되는 프로그래밍 인터페이스입니다. 이는 애플리케이션 계층과 전송 계층 사이의 브리지입니다. 소켓 프로그래밍을 사용하면 로컬 네트워크에서 통신할 수 있는 클라이언트 및 서버 애플리케이션을 개발할 수 있습니다. 또는 인터넷을 통해 전 세계적으로 소통할 수 있습니다.

소켓 프로그래밍이란?

1. 소켓 프로그래밍 소개

소위 소켓은 일반적으로 IP 주소와 포트를 설명하는 데 사용되는 "소켓"이라고도 하며 통신 체인의 핸들입니다. 응용 프로그램은 일반적으로 "소켓"을 통해 네트워크에 요청하거나 네트워크 요청에 응답합니다. 우리가 개발하는 네트워크 애플리케이션은 애플리케이션 계층에 있습니다. TCP와 UDP는 전송 계층 프로토콜입니다. 애플리케이션 계층에서 전송 계층 서비스를 사용하는 방법은 무엇입니까? 애플리케이션 계층과 전송 계층 사이에는 소켓을 사용하여 분리합니다.

소켓은 애플리케이션 계층을 위해 전송 계층에 의해 열린 작은 포트와 같습니다. 애플리케이션은 이 작은 포트를 통해 원격으로 데이터를 보내거나 이 작은 포트 내에서, 즉 데이터를 수신합니다. 이 포트에 들어가거나 데이터가 이 포트에서 나오기 전에는 알 필요도 없고, 데이터가 어떻게 전송되는지 신경 쓰지도 않습니다. 이는 네트워크의 다른 수준의 작업입니다.

Socket은 실제로 전송 계층에서 애플리케이션 계층으로 제공되는 프로그래밍 인터페이스입니다. 전송 계층은 네트워크 계층을 기반으로 프로세스 간 논리 채널을 제공하는 반면, 애플리케이션 계층 프로세스는 전송 계층을 사용하여 다른 호스트의 특정 프로세스와 통신합니다. 소켓은 애플리케이션 계층과 전송 계층 사이의 브리지입니다. 소켓 프로그래밍을 사용하면 클라이언트 및 서버 애플리케이션을 개발하고, 로컬 네트워크에서 통신하고, 인터넷을 통해 전역적으로 통신할 수 있습니다.

2. 두 컴퓨터가 소켓을 사용하여 TCP 연결을 설정하면 어떻게 되나요?

서버는 ServerSocket 개체를 인스턴스화합니다. 이는 서버의 포트를 통한 통신을 의미합니다. 서버는 클라이언트가 서버의 지정된 포트에 연결될 때까지 기다리는 ServerSocket 클래스의 accept() 메서드를 호출합니다. 서버가 기다리는 동안 클라이언트는 연결을 요청할 서버 이름과 포트 번호를 지정하여 Socket 개체를 인스턴스화합니다. Socket 클래스의 생성자는 클라이언트를 지정된 서버 및 포트 번호에 연결하려고 시도합니다. 통신이 설정되면 클라이언트에 Socket 객체가 생성되어 서버와 통신합니다. 서버 측에서 accept() 메서드는 클라이언트 소켓에 연결된 서버의 새 소켓에 대한 참조를 반환합니다.

위 내용은 소켓 프로그래밍이란?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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