Socket Programming in Python: Advanced Topics


Overview/Description
Expected Duration
Lesson Objectives
Course Number
Expertise Level



Overview/Description

This 11-video course explores advanced features of Python sockets, including the transfer of large files over sockets, two-way communication, and differences between blocking and nonblocking sockets. You will learn to transfer large files over sockets by breaking them up into chunks, and to transfer images over TCP (transmission control protocol) sockets. Then you will learn how to transfer Python objects by using the pickle module. Next, learn how to create a chat application and use it to transfer several types of data from a server application to a client. Learners continue by exploring how to configure two-way communication over sockets by building a simple chat. This course examines the performance versus reliability trade-off when one uses blocking and nonblocking sockets. You will examine and compare TCP, a connection-oriented protocol, and UDP (Universal Datagram Protocol) which is connectionless. Finally, you will examine the performance versus reliability trade-off with a TCP and UDP, and why TCP is better suited for apps which require high reliability at the other end of the communication line.



Expected Duration (hours)
1.4

Lesson Objectives

Socket Programming in Python: Advanced Topics

  • discover the key concepts covered in this course
  • build a Python app to break up a large text file into chunks and send the chunks over a socket connection to a recipient app
  • code a Python app to receive a large text file in chunks and reconstruct that file
  • transmit an image file from one Python app to another by breaking it up into chunks
  • configure the server of a client-server chat application
  • write the code for the client end of a client-server chat application
  • recognize the effects of setting sockets to run in blocking mode when large transfers are involved
  • recall the considerations for setting a Python socket to use non-blocking mode
  • write a Python app that subscribes to RSS data feeds
  • set up applications to transfer data using UDP and distinguish between UDP and TCP sockets
  • summarize the key concepts covered in this course
  • Course Number:
    it_pynpspdj_02_enus

    Expertise Level
    Beginner