Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Learn What Is a Socket | Networking Foundations in C
C Networking Basics

bookWhat Is a Socket

Prerequisites
Prerequisites
Note
Definition

Sockets are essential for network communication in C. A socket is an endpoint that lets a program send and receive data over a network. It provides a standard method for exchanging information between computers, forming the basis of most networked applications.

In C, sockets are created using the socket() system call. This function allows you to specify the communication domain (such as IPv4 or IPv6), the socket type (such as stream or datagram), and the protocol (like TCP or UDP). By correctly setting up these parameters, you control how your application will communicate over the network.

Understanding how to create and configure a socket is the first step toward building any networked application in C. You will use sockets to connect, send, and receive data, whether you are writing a client or a server.

simple_socket.c

simple_socket.c

copy
123456789101112131415161718192021
#include <stdio.h> #include <sys/socket.h> #include <netinet/in.h> int main() { // Create a socket: domain = AF_INET (IPv4), type = SOCK_STREAM (TCP), protocol = 0 (default) int sockfd = socket(AF_INET, SOCK_STREAM, 0); if (sockfd == -1) { perror("socket"); return 1; } printf("Socket created successfully! File descriptor: %d\n", sockfd); // Normally, you would use the socket here (bind, connect, etc.) // For this example, just close it. close(sockfd); return 0; }
question mark

Which of the following best describes a socket in the context of C network programming?

Select the correct answer

Everything was clear?

How can we improve it?

Thanks for your feedback!

SectionΒ 1. ChapterΒ 1

Ask AI

expand

Ask AI

ChatGPT

Ask anything or try one of the suggested questions to begin our chat

Suggested prompts:

Can you explain the parameters required for the `socket()` function in C?

How do I use the created socket to connect to a server?

What are the differences between stream and datagram sockets?

bookWhat Is a Socket

Swipe to show menu

Prerequisites
Prerequisites
Note
Definition

Sockets are essential for network communication in C. A socket is an endpoint that lets a program send and receive data over a network. It provides a standard method for exchanging information between computers, forming the basis of most networked applications.

In C, sockets are created using the socket() system call. This function allows you to specify the communication domain (such as IPv4 or IPv6), the socket type (such as stream or datagram), and the protocol (like TCP or UDP). By correctly setting up these parameters, you control how your application will communicate over the network.

Understanding how to create and configure a socket is the first step toward building any networked application in C. You will use sockets to connect, send, and receive data, whether you are writing a client or a server.

simple_socket.c

simple_socket.c

copy
123456789101112131415161718192021
#include <stdio.h> #include <sys/socket.h> #include <netinet/in.h> int main() { // Create a socket: domain = AF_INET (IPv4), type = SOCK_STREAM (TCP), protocol = 0 (default) int sockfd = socket(AF_INET, SOCK_STREAM, 0); if (sockfd == -1) { perror("socket"); return 1; } printf("Socket created successfully! File descriptor: %d\n", sockfd); // Normally, you would use the socket here (bind, connect, etc.) // For this example, just close it. close(sockfd); return 0; }
question mark

Which of the following best describes a socket in the context of C network programming?

Select the correct answer

Everything was clear?

How can we improve it?

Thanks for your feedback!

SectionΒ 1. ChapterΒ 1
some-alt