Mô tả

Network and socket programming tutorial in C# .Net using TCP

Get proficient in computer network socket programming using TCP/IP streaming sockets and become a better professional programmer. This course will start you with TCP IP network programming with C# dotnet socket library and Dotnet fast.

Each video in this course covers an essential concept of client-server socket programming & network communication. The ready-to-use C# code examples are supplied in the Visual Studio solution form to download. After every few lectures, a demo 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.

TCP/IP is a protocol suite that provides reliable, end-to-end communication over the Internet. It is not a layer in the OSI model but spans multiple layers, including the network layer (layer 3) and transport layer (layer 4). The TCP/IP protocol suite is designed to work on top of the underlying network infrastructure, allowing different network technologies to communicate with each other. While it doesn't fit neatly into the OSI model, TCP/IP is widely used and is critical in modern networking.


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.                        This is the best socket programming course on Udemy.

Section 1 is free; it contains useful information anybody can benefit from, whether they're familiar with C#.Net. 

Minimum upfront theory 

Many 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 library

TCP IP socket programming in C Sharp on Windows is the focus of this course. For example, this course will use a class library project in C# to show client/server applications in WinForms. This is 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, a modern real-world solution

async/await keywords were introduced in C# 5.0. In traditional socket programming scenarios, (multi) threading creates 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 community.

Become a part of the programmer community who has already taken this course. Your fellow students will answer your questions, and the course instructor as well. A wonderful place to start learning!

Learn something new

Sockets are considered an advanced topic, a danger zone in programming parlance. However, 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 will bridge the gap between the back-end C#.Net class library and the front-end WinForms application by implementing 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 an 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.


There are a few key things to remember regarding TCP/IP socket programming in C#. First and foremost, it's important to understand the basics of how sockets work and how they can be used to establish network connections between applications. In C#, you can use the Socket class to perform socket programming tasks and interact with network sockets. This class provides a range of methods and properties that allow you to create, connect, send, and receive data from sockets. With a solid understanding of the Socket class and its functionality, you can create robust and reliable network applications that communicate seamlessly with other applications over the internet.

TCP/IP, or Transmission Control Protocol/Internet Protocol, is the primary protocol used for communication on the Internet. Here are some pros and cons of using TCP/IP:


Pros of TCP/IP Sockets:

- TCP/IP is a widely adopted protocol, meaning that it is compatible with many different devices and networks.

- It is a reliable protocol that ensures data is transmitted accurately and in the correct order.

- TCP/IP can handle large amounts of data, making it suitable for use with high-bandwidth applications like video streaming.


Cons of TCP/IP Sockets:

- TCP/IP can be slow, particularly when compared to other protocols like UDP.

- The protocol is not particularly secure, meaning that data transmitted using TCP/IP is susceptible to interception and tampering.

- TCP/IP is relatively complex, meaning that it can be difficult to implement and maintain.


This course is related to Socket Java, Python socket, and UDP.



Bạn sẽ học được gì

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#

C# Networking

Yêu cầu

  • 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

Nội dung khoá học

9 sections

Essential Networking Theory For Socket Programming

8 lectures
Introduction to TCP/IP socket programming in C# .Net using Visual Studio
04:20
Downloading Source Code
03:09
The Host In Computer Network - Networking Essentials
01:25
IP Address In Computer Network - Networking Essentials
01:04
Port Numbers In Computer Network Socket Programming- Networking Essentials
01:26
Client/Server Model as used in TCP/IP Stream Sockets - Networking Essentials
03:39
Enable the Telnet client utility - Networking Essentials
01:18
Test your Networking Essentials knowledge
11 questions

Socket Programming in C# For Beginners

14 lectures
Server Side TCP/IP Socket Programming C# .Net Project Setup in Visual Studio
06:54
Demo - Accept Incoming Connections on Socket in C# .Net Using Telnet Client
05: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
Section Summary
03:14
Introduction to socket programming in C# .Net
4 questions

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

12 lectures
Section Intro: Asynchronous socket programming with async await in C# .Net
01:26
Example: Disadvantage of synchronous I/O in C# .Net
03:21
Accepting a TCPClient Connection Asynchronously with await keyword in C#
08:53
Demo: Accept TCPClient Asynchronously
02: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
Demo: Send Data to Multiple Network Clients from List at Once, SendAll Method
05: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
Section Summary: TCP/IP Server Side Asynchronous Socket Programming in C# .Net
02:21

Async Client Side Socket Programming

10 lectures
Client side async socket Visual Studio C# project setup
02: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
Section Summary: Async client socket programming in C# .Net with async/await
00:56

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

5 lectures
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

Socket Programming: Additional Helpful Topics in C# .Net

6 lectures
Finding IP Address & Hostname of Your Windows PC from Command Prompt
02:36
Role of DHCP and DNS in a Computer Network
01:39
Resolving Hostname to IP Address Using System.Net.DNS for socket programming C#
05:39
Demo: Resolving Hostname with System.Net.DNS Class in C# .Net
01:15
How to use StreamReader.ReadLineAsync and StreamWriter.WriteLineAsync in C# .Net
00:20
Bonus: UDP Socket Programming in C# .Net
03:21

Deprecated Section: Creating a TCP/IP socket server

10 lectures
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

Deprecated Section: Creating a TCP/IP socket client

6 lectures
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

Deprecated Section: Common Network Programming Topics

6 lectures
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

Đánh giá của học viên

Chưa có đánh giá
Course Rating
5
0%
4
0%
3
0%
2
0%
1
0%

Bình luận khách hàng

Viết Bình Luận

Bạn đánh giá khoá học này thế nào?

image

Đăng ký get khoá học Udemy - Unica - Gitiho giá chỉ 50k!

Get khoá học giá rẻ ngay trước khi bị fix.