TCPIP Socket Programming in C Net For Coders Students

Learn socket programming in C# .Net , use async/await to create distributed applications, build a TCP/IP class library
TCPIP Socket Programming in C Net For Coders Students
File Size :
1.84 GB
Total length :
4h 38m



Naeem Akram


Last update

Last updated 1/2020



TCPIP Socket Programming in C Net For Coders Students

What you’ll learn

TCP/IP Socket programming basics and advanced level with async/await in C# .Net
Develop a sound understanding of how networking applications communicate in C# .Net
Network Programming using .Net Framework networking Namespaces in C#

TCPIP Socket Programming in C Net For Coders Students


C# .Net programming language, basic skills
Microsoft Visual Studio 2015, 2017 or above will be needed to write C# .Net async code shown in this course
A PC which is connected to a network using Ethernet or WiFi capable of running .Net


Learn socket programming in C# .NetGet proficient in computer network socket programming using TCP/IP streaming sockets and become a better professional programmer.Each video of this course covers an essential concept of client-server socket programming & network communication. Ready-to-use C# code examples are supplied in Visual Studio solution form for you to download, and a demo after every couple of lectures will show you the practical implementation of the concepts described earlier.            By the end of this course, you will be able to create C# (Sharp) .Net software capable of sending and receiving data over TCP/IP sockets on a peer-to-peer basis with async and await keywords. You will learn not only socket programming but async/await keywords as well. The course will make you a better programmer.Why take this course?  You should take this course if you’re a professional(or student) with some coding experience in the past but lack an understanding of how computer networks work on a software level(either in C#, Java, or C++).  You will learn valuable techniques in real-life scenarios commonly faced by programmers.  Many students of distributed application programming university courses have taken this course in the past and posted positive comments in reviews. They could quickly complete their assignments on their own after watching this course.                         Section 1 is free; it contains useful information anybody can benefit from, whether they’re familiar with C#.Net or not.  Minimum upfront theory  A lot of courses tend to pile up theory ahead of the actual code, this course is going to take a minimum theory first approach.  You will learn the essentials of network programming and start writing C# code in under 15 minutes.  Use of Windows Forms and class libraryThis course will use a class library project in C# along with Win Forms, an approach different from many other courses that use command line projects. My teaching methodology makes the course much less boring, non-classroom-like, practically advantageous, and suitable for professionals.  Short, sweet, to the point  The entire course is designed with busy professionals in mind, and the videos were created to make your online learning experience fruitful and easy. It is project-based training. Asynchronous programming with async/await keywords, modern real-world solutionasync/await keywords were introduced in C# 5.0. In traditional socket programming scenarios, (multi) threading is used to create a responsive server or client. I have bypassed that route and shown you how to use asynchronous sockets directly. I first explain to you what async/await keywords are, then I show how to use these for non-blocking network I/O. This part of the puzzle is the key to high-traffic enterprise applications. Reinforced learning  Each section contains a quiz at the end, which is very helpful to ensure that you review and retain essential bits of information imparted in a relevant course section.Join an active communityBecome a part of the programmer’s community who has already taken this course. Your questions will be answered by your fellow students and the course instructor as well. A wonderful place to start learning!Learn something newSockets are considered an advanced topic, a danger zone in programming parlance. However, knowing it means you take your trade seriously.Object Oriented ProgrammingThis course teaches you how to create a distributed application using the principles of OOP. You will bridge the gap between the back-end C#.Net class library and the front-end WinForms application using an implementation of the Publisher/Subscriber model based on EventHandler classes. This course also shows you what event handlers are and how to create your event. Bonus  You will also learn how to resolve a hostname to IP Address using System.Net.DNS class. You’ll also implement various sanity checks using tryparse and try/catch.  You don’t need to learn C to work on this course.Socket Java, Python socket, UDP


Section 1: Essential Networking Theory For Socket Programming

Lecture 1 Introduction to TCP/IP socket programming in C# .Net using Visual Studio

Lecture 2 The Host In Computer Network – Networking Essentials

Lecture 3 IP Address In Computer Network – Networking Essentials

Lecture 4 Port Numbers In Computer Network Socket Programming- Networking Essentials

Lecture 5 Client/Server Model as used in TCP/IP Stream Sockets – Networking Essentials

Lecture 6 Enable the Telnet client utility – Networking Essentials

Section 2: Socket Programming in C# For Beginners

Lecture 7 Server Side TCP/IP Socket Programming C# .Net Project Setup in Visual Studio

Lecture 8 Demo – Accept Incoming Connections on Socket in C# .Net Using Telnet Client

Lecture 9 Receive Data on a TCP/IP Socket in C# .Net

Lecture 10 Using Encoding.ASCII.GetString to Convert Bytes To String for socket transfer

Lecture 11 Socket Programming: Send Data on a TCP/IP Socket in C# .Net

Lecture 12 Socket Programming Example Demo – Send and Receive Data on TCP/IP Sockets in C#

Lecture 13 Demo – Communicate between C# desktop & Android app, configure Windows Firewall

Lecture 14 Introduction to Client Side TCP/IP Socket Programming in C# .Net

Lecture 15 Client Side Socket Programming VS Project Setup, using methods Connect, TryParse

Lecture 16 Socket.Send() & Socket.Receive() Calls On Client Side TCP/IP Socket in C#.Net

Lecture 17 Demo – Run TCP/IP Client & Server network programs, improve Server

Lecture 18 How to cleanup a console application for properly closing the TCP/IP Socket

Lecture 19 Section Summary

Section 3: TCP/IP Server Asynchronous Socket Programming With async & await Keywords in C#

Lecture 20 Section Intro: Asynchronous socket programming with async await in C# .Net

Lecture 21 Example: Disadvantage of synchronous I/O in C# .Net

Lecture 22 Accepting a TCPClient Connection Asynchronously with await keyword in C#

Lecture 23 Demo: Accept TCPClient Asynchronously

Lecture 24 Continuously Accept Client Connections, Exception Handling in C# async Method

Lecture 25 Use System.Net.Socket.NetworkStream & StreamReader to read data from client

Lecture 26 Demo: Read Data On Network Stream and Endless Accept async in C#.Net

Lecture 27 How to Handle Multiple Network Clients on Server in C# .Net

Lecture 28 Demo: Send Data to Multiple Network Clients from List at Once, SendAll Method

Lecture 29 How to Stop Listening for New Connections and Disconnect Client Sockets Properly

Lecture 30 Demo: TcpListener.Stop and TcpClient.Close Calls to Stop Server

Lecture 31 Section Summary: TCP/IP Server Side Asynchronous Socket Programming in C# .Net

Section 4: Async Client Side Socket Programming

Lecture 32 Client side async socket Visual Studio C# project setup

Lecture 33 Client Socket Programming using async keyword in C#.Net

Lecture 34 Creating a console application and adding C# socket library reference

Lecture 35 Reading data from TcpClient socket network stream with ReadAsync in C# .Net

Lecture 36 Demo: Async Client side TCP/IP socket programming in C# .Net

Lecture 37 Writing data on the a client socket with StreamWriter in C# .Net

Lecture 38 Demo: Write data on TcpClient network stream with StreamWriter in C#.Net

Lecture 39 Close Connection on TCPClient for socket programming in C# .Net

Lecture 40 Demo: Closing connection on TcpClient for socket programming in C# .Net

Lecture 41 Section Summary: Async client socket programming in C# .Net with async/await

Section 5: Using Publisher Subscriber Model To Add Events for socket library in C# .Net

Lecture 42 Introduction to pub/sub model and events/delegates in C#.Net

Lecture 43 Adding a ClientConnected event to the server socket library in C# .Net

Lecture 44 Adding a TextReceived event on the server to socket library in C# .Net

Lecture 45 Publishing event TextReceived on client to socket library in C# .Net

Lecture 46 Additional Events C# Source Code

Section 6: Socket Programming: Additional Helpful Topics in C# .Net

Lecture 47 Finding IP Address & Hostname of Your Windows PC from Command Prompt

Lecture 48 Role of DHCP and DNS in a Computer Network

Lecture 49 Resolving Hostname to IP Address Using System.Net.DNS for socket programming C#

Lecture 50 Demo: Resolving Hostname with System.Net.DNS Class in C# .Net

Lecture 51 How to use StreamReader.ReadLineAsync and StreamWriter.WriteLineAsync in C# .Net

Lecture 52 Bonus: UDP Socket Programming in C# .Net

Section 7: Deprecated Section: Creating a TCP/IP socket server

Lecture 53 Setting up the project in Visual Studio

Lecture 54 Preparing a TCPListener

Lecture 55 Listening for incoming connection requests

Lecture 56 Demo, incoming connection requests

Lecture 57 Getting hold of a TCPClient object

Lecture 58 Reading data from a TCPClient network stream

Lecture 59 Demo, reading data

Lecture 60 Writing data to a TCPClient network stream

Lecture 61 Demo, writing data

Section 8: Deprecated Section: Creating a TCP/IP socket client

Lecture 62 Setting up the project for socket client in Visual Studio

Lecture 63 Connect to a TCP/IP socket server in C# .Net

Lecture 64 Send data to a TCP/IP socket server

Lecture 65 Demo, connect to TCP/IP socket server and send data

Lecture 66 Receiving data from a server

Lecture 67 Demo, receiving data from server

Section 9: Deprecated Section: Common Network Programming Topics

Lecture 68 Understanding and Using Loop-back Address

Lecture 69 Finding IPv4 Address using Code

Lecture 70 Handling more than one clients connection requests on server

Lecture 71 Bonus: Maintaining a list of clients to handle multiple clients on your server

Lecture 72 Bonus: Demo – Handling multiple clients on TCP/IP server

Lecture 73 Listen for incoming connections on “Any” IP Address

Take this course if you have some C# or Java programming experience,Network programming is a very interesting topic, if you’re looking to study something off-beat in C# go for this course,Take this course only if you have never written code in any language (C#, C++, Java)

Course Information:

Udemy | English | 4h 38m | 1.84 GB
Created by: Naeem Akram

You Can See More Courses in the Developer >> Greetings from

New Courses

Scroll to Top