소켓이란?

광고

소켓은 동일하거나 다른 시스템에서 두 개의 서로 다른 프로세스 간의 통신을 허용합니다. 더 정확하게 말하면 표준 유닉스 파일 설명자를 사용하여 다른 컴퓨터와 대화 할 수있는 방법입니다. 유닉스에서는 모든 입출력 작업이 파일 디스크립터를 쓰거나 읽음으로써 이루어진다. 파일 설명자는 열린 파일과 관련된 정수 일 뿐이며 네트워크 연결,텍스트 파일,터미널 또는 다른 것일 수 있습니다.

프로그래머에게 소켓은 저수준 파일 설명자처럼 보이고 동작합니다. 이는 읽기()및 쓰기()와 같은 명령이 파일 및 파이프와 동일한 방식으로 소켓과 함께 작동하기 때문입니다.

소켓은 2.1 광디디아에서 처음 도입되었고,이후 4.2 광디디아에서 현재의 형태로 정제되었다. 소켓 기능은 현재 대부분의 유닉스 시스템 릴리스에서 사용할 수 있습니다.

소켓은 어디에 사용됩니까?

유닉스 소켓은 클라이언트-서버 애플리케이션 프레임워크에서 사용된다. 서버는 클라이언트의 요청에 따라 일부 기능을 수행하는 프로세스입니다. 대부분의 응용 프로그램 수준 프로토콜은 소켓을 사용하여 클라이언트와 서버 간의 연결을 설정 한 다음 데이터를 교환합니다.

소켓 유형

사용자가 사용할 수 있는 소켓에는 네 가지 유형이 있습니다. 처음 두 개는 가장 일반적으로 사용되고 마지막 두 개는 거의 사용되지 않습니다.

프로세스는 동일한 유형의 소켓 간에만 통신하는 것으로 추정되지만 다른 유형의 소켓 간 통신을 방해하는 제한은 없습니다.

  • 스트림 소켓-네트워크 환경에서 배달이 보장됩니다. 당신은 스트림 소켓을 통해 세 가지 항목을 보낼 경우”에이,비,기음”,그들은 같은 순서로 도착합니다−”에이,비,기음”. 이 소켓은 데이터 전송을 위해 전송 제어 프로토콜을 사용합니다. 배달이 불가능한 경우 보낸 사람은 오류 표시기를 받습니다. 데이터 레코드에는 경계가 없습니다.

  • 데이터그램 소켓-네트워크 환경에서 배달이 보장되지 않습니다. 스트림 소켓에서와 같이 열린 연결을 가질 필요가 없기 때문에 연결되지 않습니다. 사용자 데이터 그램 프로토콜).

  • 원시 소켓-소켓 추상화를 지원하는 기본 통신 프로토콜에 대한 액세스를 사용자에게 제공합니다. 이 소켓은 일반적으로 데이터 그램 지향적이지만 정확한 특성은 프로토콜이 제공하는 인터페이스에 따라 다릅니다. 원시 소켓은 일반 사용자를 위한 것이 아닙니다; 그들은 주로 새로운 통신 프로토콜 개발에 관심이 있거나 기존 프로토콜의 더 비밀스러운 시설 중 일부에 대한 액세스를 얻기 위해 제공되었습니다.

  • 시퀀싱된 패킷 소켓-레코드 경계가 보존되는 것을 제외하고는 스트림 소켓과 유사합니다. 이것은 수학적으로 정확한 유형 계층구조인,강력한 타입을 정의합니다. 서열화 된 패킷 소켓은 사용자가 전송 될 데이터와 함께 프로토 타입 헤더를 작성하거나 보내는 모든 데이터와 함께 사용할 기본 헤더를 지정하여 패킷 또는 패킷 그룹의 시퀀스 패킷 프로토콜 또는 인터넷 데이터 그램 프로토콜 헤더를 조작 할 수 있으며 사용자가 들어오는 패킷에 헤더를 수신 할 수 있습니다.

다음은 무엇입니까?

다음 몇 장은 소켓을 사용하여 서버 및 클라이언트 프로그램을 작성하기 전에 기초를 강화하고 기초를 준비하기위한 것입니다. 직접 클라이언트 및 서버 프로그램을 작성하는 방법을 보려면 이동하려면,당신은 그렇게 할 수 있지만 사용하지 않는 것이 좋습니다. 그것은 강력하게 당신이 단계적으로 가서 프로그래밍을 수행하기 위해 이동하기 전에 기지를 만들기 위해 이러한 초기 몇 장을 완료하는 것이 좋습니다.

광고

답글 남기기

이메일 주소는 공개되지 않습니다.

More: