Sockets programming training course description
A hands on course for programmers using Sockets. It is
important to recognise that the course assumes that
delegates are already familiar with TCP/IP and Python.
Practical exercises follow all the major theory sessions.
What will you learn
Read Python programs which use Sockets.
Write Python programs which use Sockets.
Debug Python programs which use Sockets.
Sockets programming training course details
Who will benefit:
Programmers working with network applications.
Prerequisites:
TCP/IP foundation for engineers
Python for network engineers
Duration
2 days
Sockets programming training course contents
What is a socket?
Review of IP, ICMP, UDP vs TCP, IP addresses,
protocol numbers, ports. API's, UNIX I/O, sockets.
SOCK_STREAM, SOCK_DGRAM.
Hands on
Compile and run code.
The systems calls
Clients and servers, structs, socket(), bind(),
connect(), listen(), accept(), send(), recv(), sendto
(), recvfrom(), close(), shutdown(), getpeername(),
gethostname().
Hands on Walk through of
example client and server code.
First code
TCP connections, passive opens, active opens.
Hands on Write a simple 'hello world' server and
client.
Application protocols
User character stream, ASCII turn taking, binary
protocols.
Hands on Raw SMTP, Writing a mail
client.
Clients
Concurrency, polling, threads, event driven
programming.
Hands on Conferencing
application.
Servers
Concurrency, stateful, stateless. Forks and execs.
inetd.
Hands on Running servers with and
without inetd, chroot jails, conferencing server
modifications.
Advanced techniques
Blocking, select(), partial send(s). Raw sockets,
example sockets using Java, Perl and PHP.
Hands on A broadcast application.