RTD Training & Development

Unix/Linux Network Programming

Call us on +44 (0)1225 66 72 72 or send us a message

Unix/Linux Network Programming

4 days hands-on £1,940+VAT

This course can be delivered over the web

Next scheduled date:
Monday August 21st, 2017 Enrol Now!

Unix/Linux distributed programming with sockets, the Transport Layer Interface and remote procedure calls

Outline

Unix Programming Review

  • File handling
  • Process control
  • Signals

Programming Berkeley Sockets

  • Socket addresses
  • Socket system calls
  • Using stream pipes
  • Socket options
  • Asynchronous communications
  • I/O multiplexing
  • Out-of-band data
  • Signals
  • Network utility routines

Programming The Transport Layer Interface (TLI)

  • Transport endpoint addresses
  • TLI functions
  • STREAMS
  • Using stream pipes
  • I/O multiplexing
  • Asynchronous communications
  • Out-of-band data
  • Signals

Common Clients

  • I/O multiplexing
  • File transfer (TFTP)
  • Making DNS queries
  • Querying mail server (MX) records
  • E-mail transmission (SMTP)
  • Diagnostics (Ping)
  • Remote login

Remote Procedure Calls

  • The RPC model
  • Parameter passing
  • Binding
  • Data representation
  • Exception handling

Overview

TCP/IP is the underlying protocol of the Internet. As such, it is encountered in the vast majority of computer networks. It is implemented on all major platforms and is therefore a key element in multi-vendor systems.

Objectives

On successful completion of this course, participants will be able to:

  • Understand the Unix/Linux interfaces to networking
  • Develop distributed Unix/Linux applications using Berkeley sockets
  • Develop distributed Unix/Linux applications using the Transport Layer Interface (TLI)
  • Write client software to access standard TCP/IP servers
  • Write custom TCP/IP servers

Audience

This course is for programmers and analysts who wish to write distributed applications of network systems software in C. The course is primarily aimed at Unix and Linux platforms but many of the techniques are applicable under Windows.

Prerequisites

Participants must have a knowledge of C or C++ up to the level covered in the C Programming course, and a knowledge of Unix or Linux up to the level covered in the Introduction to Unix/Linux and Shell Programming course.

We also recommend that participants be familiar with standard Unix/Linux programming concepts, such as those covered in the Unix/Linux System Programming course.

Familiarity with TCP/IP networks is helpful but not essential.