Articles

소켓이란 무엇입니까?

광고

소켓 통신할 수 있도록 사이에 두 개의 서로 다른 프로세스에 동일하거나 다른 기계입니다. 더 정확히 말하면 표준 유닉스 파일 설명자를 사용하여 다른 컴퓨터와 대화하는 방법입니다. Unix 에서 모든 I/O 작업은 파일 설명자를 작성하거나 읽음으로써 수행됩니다. 파일 설명자의 정수와 관련된 파일 열기 및 수 있는 네트워크 연결,텍스트 파일로서,터미널,또는 다른 뭔가가 있습니다.프로그래머에게 소켓은 저수준 파일 설명자처럼 보이고 동작합니다. 이는 read()및 write()와 같은 명령이 파일 및 파이프와 동일한 방식으로 소켓에서 작동하기 때문입니다.

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

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

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

소켓 유형

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

프로세스는 추정을 통해서만 통신 사이의 소켓의 동일한 유형이 그러한 제한은 없는 통신 방지 사이의 소켓의 다른 유형이 있습니다.

  • 스트림 소켓-네트워크 환경에서의 전달이 보장됩니다. 스트림 소켓을 통해”A,B,C”라는 세 가지 항목을 보내면”A,B,C”와 같은 순서로 도착합니다. 이 소켓은 데이터 전송을 위해 TCP(전송 제어 프로토콜)를 사용합니다. 배달이 불가능한 경우 발신자는 오류 표시기를받습니다. 데이터 레코드에는 경계가 없습니다.

  • 데이터그램 소켓−전달 네트워크 환경에서이 보장되지는 않습니다. 그들은 연결 없는 필요하지 않기 때문에 열린 연결에서는 소켓 스트림−당신은 패킷을 구축 대상으로 정보를 보내다. 그들은 UDP(사용자 데이터 그램 프로토콜)를 사용합니다.

  • Raw 소켓−이 제공하는 사용자에 액세스하는 기본 통신 프로토콜을 지원하는 소켓의 추상화. 이러한 소켓은 일반적으로 데이터 그램 지향적이지만 정확한 특성은 프로토콜에서 제공하는 인터페이스에 따라 다릅니다. Raw 소켓지 않은 것에 대한 일반적인 사용자들이 제공을 위해 주로 개발에 관심이있는 사람들의 새로운 커뮤니케이션 프로토콜,또에 대한 액세스 권한을 얻기 위한 몇 가지 더한 시설의 기존 프로토콜입니다.

  • 시퀀싱 패킷 소켓−그들은 그와 비슷한 소켓 스트림을 제외하고,그 기록의 경계를 유지됩니다. 이 인터페이스는 네트워크 시스템(NS)소켓 추상화의 일부로 만 제공되며 대부분의 심각한 NS 응용 프로그램에서 매우 중요합니다. 시퀀싱 패킷 소켓 허용할 사용자를 조작하는 순서는 패킷 프로토콜(SPP)또는 인터넷 데이터그램 프로토콜(IDP)헤더에서 패킷 또는 그룹의 패킷으로 하나,쓰기 프로토타입 헤더와 함께 어떤 데이터가 전송되거나 지정하여 기본 헤더와 함께 사용하는 모든 나가는 데이터는 사용자가를 받은 헤더에 들어오는 패킷입니다.

다음은 무엇입니까?

다음 몇 장을 의미가 있을 강화하는 기초를 준비하는 재단을 작성하기 전에 서버와 클라이언트 프로그램을 사용하여 socket. 직접 클라이언트와 서버 프로그램을 작성하는 방법을보고 점프하려는 경우,당신은 그렇게 할 수 있지만 권장하지 않습니다. 그것은 강력하게 권장하는 당신은 단계적으로 이동하고 이러한 초기를 몇 장의 기초로 이동하기 전에 수행 프로그래밍입니다.나는 이것이 내가 할 수있는 유일한 방법이라고 생각한다.