Search This Blog
Friday, November 12, 2010
Socket Programming Videos
Part 1: Basics and Socket APIs
Video description:
Socket Programming is one of the most important topics in network programming. It is probably the building block of all network enabled programs. In this 3 part presentation, we will look at socket programming in an in-depth way - both from a theoretical and a programming perspective. In this video we will look at Client Server communication and architectures and see which APIs in the socket library are used to make the communication happen.
Part 2: Difference Between TCP and UDP
Video description:
In this Part 2 of the Socket Programming presentation, we will look at the differences between a UDP server-client architecture and a TCP one. Also we will dive deep into the data structures used for socket programming such a sockaddr_in. Then finally we will set forth demystifying the byte ordering logic in network packets. Byte ordering is probably one of the most confusing things for a beginner and hopefully this video should be able to help you understand it.
Part 3: Utility Functions
Video description:
In this final video of the Socket Programming basics presentation we will look into utility functions for byte order conversion such as ntohs() and htons(). Once the Byte ordering dilemma has been cleared, we will dive into the socket library calls such as socket(), bind(), connect(), send(), recv() etc and try and understand how to use them programmatically in code. Hopefully by the end of this video, you will be all ready for entering the world of socket programming.
Part 4: Hello World TCP Server using Sockets
Video description:
In this video we will look at how to make a TCP Server. To keep things simple to understand, this will be a Hello World server i.e. it will send a connected Client the string "Hello World" and finish servicing the Client. The most interesting aspect of this video is that it is a "type with me exercise" - the user can type along to understand all the programming constructs better.
Part 5: Hello World Server
Video description:
In this video we continue coding our "Hello World" server. We will now encounter the most important API call - accept() (from a server's perspective). Accept() allows the server process to accept client connections and process them. We will currently run the server in an infinite loop, so that we can process clients one after the other. The important thing to note here that this server process is not multithreaded and thus can only process a single client at a time. To be able to process multiple clients asynchronous calls such as select() or multithreading will have to be used.
Subscribe to:
Post Comments (Atom)
No comments:
Post a Comment