소켓 C 란 무엇입니까?
"소켓 C"는 때때로 C 프로그래밍 언어로 소켓 코드를 작성하는 프로세스를 나타내는 데 사용되는 용어이며 일부 소켓 함수에 대한 구현을 보유하는 실제 라이브러리 파일을 나타내는 데 사용되는 용어입니다. 실제 소켓 C 라이브러리 파일에는 언어 라이브러리가 제공하는 기본 소켓 기능을 제공하는 다양한 기능과 매크로에 대한 구현이 포함되어 있지만 소켓 C 파일은 운영 체제에 따라 다르며 일부 시스템에서는 구현되지 않을 수 있습니다. 소켓 C 코드를 작성하려면 소켓이라고하는 표준 입력 및 출력 프로토콜을 사용하여 인터페이스를 작성하고이를 사용하여 일반적으로 네트워크 또는 하드웨어를 통해 정보를 보내거나받습니다. C 프로그래밍 언어는 이식성이 뛰어나지 만 소켓 프로그래밍은 일부 하위 수준의 시스템 특정 기능에 의존하기 때문에 소켓을 사용하지만 시스템 간 이식성을 유지하는 C로 프로그램을 작성하기가 어려운 경우가 있습니다.
소켓 C가 지원하는 세 가지 기본 유형의 소켓이 있습니다. 첫 번째는 데이터 그램, 두 번째는 스트림, 세 번째는 원시 액세스입니다. 데이터 그램은 패킷이라고하는 작은 번들로 정보를 보내는 소켓 유형입니다. 각 패킷은 네트워크에서 찾는 대상 소켓에 대한 정보와 함께 소스에서 전송됩니다. 데이터 그램은 소켓을 통한 효율적인 통신 방법 일 수 있으며 전자 메일을 보내는 데 자주 사용되지만 전송되는 패킷이 대상 소켓에 도착하지 않을 수도 있기 때문에 손실됩니다.
스트림 소켓은 다른 소켓에 연결하고 정보는 소켓 사이에 직접 전달됩니다. 소켓 C 프로그래밍에 사용될 때,이 유형의 소켓은 전송 된 모든 데이터가 다른 쪽에서 수신되도록합니다. 그러나 한 가지 복잡한 점은 소켓이 때때로 블로킹을 사용할 수 있다는 것입니다. 즉, 스레드 또는 분기 된 프로세스를 사용하면 대부분의 경우이 문제를 해결할 수 있지만 소켓은 정보가 수신되거나 소켓이 닫힐 때까지 프로세스 실행을 중지합니다. 원시 소켓 액세스는 소켓을 호스트하는 모든 장치와 거의 하드웨어 수준에서 실제로 인터페이스하기위한 수단으로 제공됩니다.
소켓은 일반적으로 인터넷 통신을 위해 다양한 형태로 사용됩니다. 네트워킹이 가능하게하는 하드웨어 및 드라이버는 운영 체제에 따라 크게 다르므로 가능한 모든 조합을 지원하는 소켓 C 라이브러리 파일을 찾기가 어려울 수 있습니다. 이러한 이유로 소켓 헤더 파일뿐만 아니라 소켓 C 파일 자체에는 많은 조건부 컴파일 지시문이 포함되어 있으므로 다양한 시스템에서 다르게 컴파일됩니다.