Socket: Difference between revisions
CSV import |
CSV import |
||
| Line 65: | Line 65: | ||
{{Computer-networking-stub}} | {{Computer-networking-stub}} | ||
{{No image}} | {{No image}} | ||
__NOINDEX__ | |||
Latest revision as of 00:16, 18 March 2025
Socket[edit]
A socket is an endpoint for sending or receiving data across a computer network. Sockets are a fundamental technology for network communication, enabling different processes to communicate with each other, either on the same machine or across different machines.
Types of Sockets[edit]
There are several types of sockets, each serving different purposes:
- Stream socket: Provides a reliable, two-way, connection-based byte stream. It uses the Transmission Control Protocol (TCP) for communication.
- Datagram socket: Provides connectionless, unreliable messaging. It uses the User Datagram Protocol (UDP) for communication.
- Raw socket: Allows direct sending and receiving of Internet Protocol (IP) packets without any protocol-specific transport layer formatting.
Socket Programming[edit]
Socket programming is the process of using sockets to create network applications. It involves the following steps:
1. **Socket Creation**: Creating a socket using the appropriate system call. 2. **Binding**: Associating the socket with a specific IP address and port number. 3. **Listening**: For server sockets, listening for incoming connections. 4. **Accepting Connections**: Accepting incoming connection requests. 5. **Data Transmission**: Sending and receiving data through the socket. 6. **Closing**: Closing the socket when communication is complete.
Socket API[edit]
The Berkeley sockets API is a widely used interface for socket programming. It provides a set of functions for creating and managing sockets, including:
- `socket()`: Creates a new socket.
- `bind()`: Binds a socket to an address and port.
- `listen()`: Listens for incoming connections.
- `accept()`: Accepts an incoming connection.
- `connect()`: Connects a socket to a remote address.
- `send()`: Sends data through a socket.
- `recv()`: Receives data from a socket.
- `close()`: Closes a socket.
Applications[edit]
Sockets are used in a variety of applications, including:
- Web servers and web browsers
- Email clients and servers
- File transfer applications
- Remote login services
- Peer-to-peer networks
See Also[edit]
- Network socket
- Socket.IO
- Berkeley sockets
- Transmission Control Protocol
- User Datagram Protocol
- Internet Protocol
Related Pages[edit]
- Network socket
- Stream socket
- Datagram socket
- Raw socket
- Berkeley sockets
- Transmission Control Protocol
- User Datagram Protocol
- Internet Protocol
Template:Computer-networking-stub