Introduction To Socket Programming
Introduction To Socket Programming
Programming
Basic Model of Communication
Client
Application
Client Server
Layer
Client
Layers of TCP/IP Protocol
Suite
Physical layer
Data link layer
Network layer
Transport layer
Application layer
What is a Socket?
Socket Basics
Socket is an endpoint in a connection.
Socket address = ? + ?
IP add + Port num
A socket is referred to by using a file
descriptor.
Clients & Server
SOCKET
3B 4F
Memory location 1000 1008
Big Endian/Network Byte Order
4F 3B
Memory location 1000 1008
Little Endian/Host Byte Order
Conversion between Byte
Orderings
1. socket() 1. socket()
2. bind() 2. connect()
3. listen() 3. send() and recv()
4. accept()
5. send() and recv()
Structures to be used
1. struct sockaddr
2. struct sockaddr_in
3. struct in_addr
Structure 1
struct sockaddr
{
};
Structure 2
struct sockaddr_in
{
short int sin_family; /* Address family*/
unsigned short int sin_port; /* Port number*/
struct in_addr sin_addr; /* Internet address */
unsigned char sin_zero[8];
/* To make it the same size as struct sockaddr*/
};
Structure 3
struct in_addr
{
unsigned long s_addr;
/*32-bit long, or 4 bytes of IP address*/
};
Dealing with IP addresses
inet_addr():- Converts an IP address in
numbers-and-dots notation into an
unsigned long.