Udemy
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
Development
Web Development Data Science Mobile Development Programming Languages Game Development Database Design & Development Software Testing Software Engineering Development Tools No-Code Development
Business
Entrepreneurship Communications Management Sales Business Strategy Operations Project Management Business Law Business Analytics & Intelligence Human Resources Industry E-Commerce Media Real Estate Other Business
Finance & Accounting
Accounting & Bookkeeping Compliance Cryptocurrency & Blockchain Economics Finance Finance Cert & Exam Prep Financial Modeling & Analysis Investing & Trading Money Management Tools Taxes Other Finance & Accounting
IT & Software
IT Certification Network & Security Hardware Operating Systems Other IT & Software
Office Productivity
Microsoft Apple Google SAP Oracle Other Office Productivity
Personal Development
Personal Transformation Personal Productivity Leadership Career Development Parenting & Relationships Happiness Esoteric Practices Religion & Spirituality Personal Brand Building Creativity Influence Self Esteem & Confidence Stress Management Memory & Study Skills Motivation Other Personal Development
Design
Web Design Graphic Design & Illustration Design Tools User Experience Design Game Design Design Thinking 3D & Animation Fashion Design Architectural Design Interior Design Other Design
Marketing
Digital Marketing Search Engine Optimization Social Media Marketing Branding Marketing Fundamentals Marketing Analytics & Automation Public Relations Advertising Video & Mobile Marketing Content Marketing Growth Hacking Affiliate Marketing Product Marketing Other Marketing
Lifestyle
Arts & Crafts Beauty & Makeup Esoteric Practices Food & Beverage Gaming Home Improvement Pet Care & Training Travel Other Lifestyle
Photography & Video
Digital Photography Photography Portrait Photography Photography Tools Commercial Photography Video Design Other Photography & Video
Health & Fitness
Fitness General Health Sports Nutrition Yoga Mental Health Dieting Self Defense Safety & First Aid Dance Meditation Other Health & Fitness
Music
Instruments Music Production Music Fundamentals Vocal Music Techniques Music Software Other Music
Teaching & Academics
Engineering Humanities Math Science Online Education Social Science Language Teacher Training Test Prep Other Teaching & Academics
AWS Certification Microsoft Certification AWS Certified Solutions Architect - Associate AWS Certified Cloud Practitioner CompTIA A+ Cisco CCNA Amazon AWS CompTIA Security+ AWS Certified Developer - Associate
Graphic Design Photoshop Adobe Illustrator Drawing Digital Painting InDesign Character Design Canva Figure Drawing
Life Coach Training Neuro-Linguistic Programming Mindfulness Personal Development Personal Transformation Meditation Life Purpose Emotional Intelligence Neuroscience
Web Development JavaScript React CSS Angular PHP WordPress Node.Js Python
Google Flutter Android Development iOS Development Swift React Native Dart Programming Language Mobile Development Kotlin SwiftUI
Digital Marketing Google Ads (Adwords) Social Media Marketing Google Ads (AdWords) Certification Marketing Strategy Internet Marketing YouTube Marketing Email Marketing Retargeting
SQL Microsoft Power BI Tableau Business Analysis Business Intelligence MySQL Data Modeling Data Analysis Big Data
Business Fundamentals Entrepreneurship Fundamentals Business Strategy Online Business Business Plan Startup Blogging Freelancing Home Business
Unity Game Development Fundamentals Unreal Engine C# 3D Game Development C++ 2D Game Development Unreal Engine Blueprints Blender
30-Day Money-Back Guarantee
Development Software Engineering Socket Programming

TCP/IP 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
Bestseller
Rating: 4.3 out of 54.3 (993 ratings)
9,514 students
Created by Naeem Akram
Last updated 1/2020
English
English, German, 
30-Day Money-Back Guarantee

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#
Curated for the Udemy for Business collection

Course content

9 sections • 73 lectures • 4h 37m total length

  • Preview04:20
  • Preview01:25
  • Preview01:04
  • Preview01:26
  • Preview03:39
  • Preview01:18
  • Test your Networking Essentials knowledge
    11 questions

  • Preview06:54
  • Preview05:16
  • Receive Data on a TCP/IP Socket in C# .Net
    03:21
  • Using Encoding.ASCII.GetString to Convert Bytes To String for socket transfer
    04:15
  • Socket Programming: Send Data on a TCP/IP Socket in C# .Net
    03:46
  • Socket Programming Example Demo - Send and Receive Data on TCP/IP Sockets in C#
    02:28
  • Demo - Communicate between C# desktop & Android app, configure Windows Firewall
    07:54
  • Introduction to Client Side TCP/IP Socket Programming in C# .Net
    01:48
  • Client Side Socket Programming VS Project Setup, using methods Connect, TryParse
    08:30
  • Socket.Send() & Socket.Receive() Calls On Client Side TCP/IP Socket in C#.Net
    05:01
  • Demo - Run TCP/IP Client & Server network programs, improve Server
    05:30
  • How to cleanup a console application for properly closing the TCP/IP Socket
    03:50
  • Preview03:14
  • Introduction to socket programming in C# .Net
    4 questions

  • Preview01:26
  • Preview03:21
  • Accepting a TCPClient Connection Asynchronously with await keyword in C#
    08:53
  • Preview02:15
  • Continuously Accept Client Connections, Exception Handling in C# async Method
    02:24
  • Use System.Net.Socket.NetworkStream & StreamReader to read data from client
    06:02
  • Demo: Read Data On Network Stream and Endless Accept async in C#.Net
    05:38
  • How to Handle Multiple Network Clients on Server in C# .Net
    08:16
  • Preview05:09
  • How to Stop Listening for New Connections and Disconnect Client Sockets Properly
    05:44
  • Demo: TcpListener.Stop and TcpClient.Close Calls to Stop Server
    03:31
  • Preview02:21

  • Preview02:22
  • Client Socket Programming using async keyword in C#.Net
    05:05
  • Creating a console application and adding C# socket library reference
    05:00
  • Reading data from TcpClient socket network stream with ReadAsync in C# .Net
    05:14
  • Demo: Async Client side TCP/IP socket programming in C# .Net
    02:01
  • Writing data on the a client socket with StreamWriter in C# .Net
    03:52
  • Demo: Write data on TcpClient network stream with StreamWriter in C#.Net
    02:24
  • Close Connection on TCPClient for socket programming in C# .Net
    01:06
  • Demo: Closing connection on TcpClient for socket programming in C# .Net
    01:44
  • Preview00:56

  • Introduction to pub/sub model and events/delegates in C#.Net
    02:05
  • Adding a ClientConnected event to the server socket library in C# .Net
    09:42
  • Adding a TextReceived event on the server to socket library in C# .Net
    07:30
  • Publishing event TextReceived on client to socket library in C# .Net
    06:07
  • Additional Events C# Source Code
    00:15

  • Preview02:36
  • Preview01:39
  • Resolving Hostname to IP Address Using System.Net.DNS for socket programming C#
    05:39
  • Preview01:15
  • How to use StreamReader.ReadLineAsync and StreamWriter.WriteLineAsync in C# .Net
    00:20
  • Preview03:21

  • Setting up the project in Visual Studio
    04:07
  • Preparing a TCPListener
    03:30
  • Listening for incoming connection requests
    03:41
  • Demo, incoming connection requests
    02:47
  • Getting hold of a TCPClient object
    02:45
  • Reading data from a TCPClient network stream
    06:34
  • Demo, reading data
    02:00
  • Writing data to a TCPClient network stream
    05:18
  • Demo, writing data
    02:38
  • Creating a TCP/IP Server
    11 questions

  • Setting up the project for socket client in Visual Studio
    01:34
  • Connect to a TCP/IP socket server in C# .Net
    03:59
  • Send data to a TCP/IP socket server
    03:33
  • Demo, connect to TCP/IP socket server and send data
    02:08
  • Receiving data from a server
    04:27
  • Demo, receiving data from server
    01:55

  • Understanding and Using Loop-back Address
    03:16
  • Finding IPv4 Address using Code
    06:22
  • Handling more than one clients connection requests on server
    01:57
  • Bonus: Maintaining a list of clients to handle multiple clients on your server
    08:57
  • Bonus: Demo - Handling multiple clients on TCP/IP server
    04:51
  • Listen for incoming connections on "Any" IP Address
    1 page

Requirements

  • 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

Description

Learn socket programming in C# .Net

Get proficient in computer network socket programming using TCP/IP streaming sockets and become a better professional programmer.

Each video of this course covers an important 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 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 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 understanding of how computer networks work on a software level(either in C#, Java, or C++). 

You will learn techniques which are useful 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 were able to easily complete their assignments on their own after watching this course.                        

Section 1 is available for free, it contains very 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 real code, this course is going take a minimum theory first approach. 

You will learn essentials of network programming and start writing C# code in under 15 minutes. 


Use of Windows Forms and class library

This course will use a class library project in C# along with Win Forms, an approach different from many other courses who use command line projects. My teaching methodology makes the course lot less boring and non-classroom like, practically useful and really suitable for professionals. 

Short, sweet, to the point 

Entire course is designed with the busy professionals in mind and the videos were created to make your online learning experience fruitful and easy.  It is a project based training.

Asynchronous programming with async/await keywords, modern real world solution

async/await keywords were introduced in C# 5.0. In traditional socket programming scenarios, (multi) threading is use to create a responsive server or client. I have bypassed that route and shown you how to use asynchronous sockets directly. I first explain you what are async/await keywords and then I show how to use these for non-blocking network I/O. This part of the puzzle in the key to high traffic enterprise applications. 

Reinforced learning 

Each section contains a quiz on the end which is very helpful to ensure that you review and retain important bits of information imparted in relevant course section.

Join an active community

Become a part of the programmers community who have already taken this course. Your questions will be answered by the fellow students and the course instructor as well. Really a wonderful place to start learning!

Learn something new

Sockets are considered an advanced topic, a danger zone in programming parlance. Knowing it means you take your trade seriously.

Object Oriented Programming

This course teaches you how to create a distributed application using the principles of OOP. You are going to bridge the gap between the back-end C#.Net class library and the fron-tend WinForms application using an implementation of Publisher/Subscriber model based on EventHandler classes. This course also shows you what are event handlers and how to create your own 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



Who this course is for:

  • 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)

Featured review

Bruno Gonçalves
Bruno Gonçalves
38 courses
3 reviews
Rating: 5.0 out of 510 months ago
The instructor is very helpful and worries if the students' are having difficulties on the topics... such and attentive teacher! Besides of that, Naeem makes it possible to turn complicated subjects into simplier ones. I wish I could have more teachers/professors just like Naheem...

Instructor

Naeem Akram
Test Engineer Sr.
Naeem Akram
  • 4.4 Instructor Rating
  • 1,660 Reviews
  • 25,937 Students
  • 5 Courses

I am A person with many talents and interests, ranging from gardening to programming and poetry to cooking. 

Right now I'm working as a Software Test Engineer. On my job I use Microsoft Coded UI, Selenium, and Appium for creating test automation scripts. It is also a part of my job to maintain these automation scripts and run them via CI/CD using TFS. Apart from teaching, I'm also learning how actively on Udemy and my core interests are Azure Devops.

I've been writing computer software code(C++, C# .Net) since 2006, creating awesome Android apps since 2012. I've been working as a freelance software developer since Nov. 2012. 

I've extensively worked on network communications, computer telephony integration(CTI) using Microsoft TAPI 2.x and 3.x, and LDAP server programming(Active Directory). Android app development has been my focus as a freelancer, I've created and published several apps for clients and a couple for myself on Google Play store.

I've been sharing my knowledge through my blogs, and I am confident its time share more things that I've experienced with the world in a comprehensive video format. 

  • Udemy for Business
  • Teach on Udemy
  • Get the app
  • About us
  • Contact us
  • Careers
  • Blog
  • Help and Support
  • Affiliate
  • Terms
  • Privacy policy
  • Cookie settings
  • Sitemap
  • Featured courses
Udemy
© 2021 Udemy, Inc.