+44 (0)1737 821590
Network programming using sockets  |    A 2 day   hands on   training course

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

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.

Learning path


This is a new course

Ratings below are overall customer ratings

M. H. - Bovis Homes

"Able to customise course which was excellent."

M. T. - Ernst & Young

"Material was interchanged well with live demo."

Training approach

This structured training course seeks to build upon workbook learning through the use of group exercises, dynamic discussion and individual tasks in order to deliver an engaging and interactive module that will ensure all candidates are able to transfer their new skills into the workplace.