Java Network Programming – TCP/IP Socket Programming
What you’ll learn
Understand core concepts of network communication
Become familiar with basics of networking: internet architecture, IP addresses, TCP connections, ports.
Learn how to create java threads and how to use java IO
Learn the basics of Java sockets programming: creation and usage of sockets;
Know how to develop Client/Server TCP and UDP applications
Learn how to transfer data between server/client applications running on different machines on the network.
Code applications like: Port Scanner, Browse the Internet, Web Scraping, Get network interface properties, Validate IP Addresses, Ping a remote host
Develop more complex network applications: File Transfer Application, Small Web Server, Send Emails
Update April 17, 2017: Two students asked me for subtitles. I removed the auto-generated subtitles and I added right subtitles for every lesson. Also, sound quality has been improved for some lessons. Thanks for your suggestion! Now, every student can follow this course more easily.
Update September 17, 2016: Some of my students asked me for a chat application. So
I created the application (GUI included) and I added it in chapter 9.
Now, you can download the application, run it and view the source code. Enjoy!
Update August 4, 2016: Added: quizzes for learning reinforcement.
The best course ever on udemy , it teaches student not only the how to build network application but also discuss all programming topics like streams , thread that involved on building network applications ,the teacher explains while he is coding every step in details , and explain why he prefered this method over that method . Mr. Catalin provides detail answers for any question in quick time . Take this course and you will master building network applications
Professional and up to the point. It tells the beginners every single step about Java Network Programming which is very nice. It makes the difficult things look easy.
Excelente curso, esta muy bien explicado y la sintaxys del codigo es muy clara, solo me gustaria ver streaming de audio en tiempo real.
With over 45 videos this online Java training course is designed to provide a solid foundation in Java network programming and network communication.
Learn something new
Network programming is one field which everybody uses but is still considered an advanced topic.
source code shown in this course is also available for download.
Students can create their own projects using
the downloaded java files.
theory with practice!
chapter has an intro video to
cover basic theory needed to understand the rest of the material
In the first chapter you will learn the concept of network communication from the very basic fundamental level that needs to be understood by everyone.
Two other chapters are included in this course for those programmer who haven’t worked yet with java threads or java IO. These two are very important topics when you want to build a network application and I want to ensure that all students have the basics before we start to code Client – Server applications.
In the Socket (Java Socket programming) section you will start to write simple TCP servers or TCP clients. Also, you will learn how to create a multi-user or a multithreaded server and we are going to test each written application. We will connect multiple TCP clients to a multithreaded server and we will observe the TCP server behavior and how it makes to respond to multiple clients at the same time.
In this chapter I will cover some other important network programming topics:
Scan a remote host for open ports
Get network interface hardware information
Validate an IP address in different ways
Ping a remote host address using java code
Browse internet using java code.
Web scrapping – get what data you want from a web page
UDP chapter focus on the difference between the most used Transport Layer protocols: TCP and UDP. We will write together an UDP server and an UDP client. The interesting part of this chapter comes after we will run the code. The next chapters present some useful applications:
Send an email
Transfer files between a server and a client using TCP sockets
A small web browser.
The code is explained in details, line by line. All the needed theory is presented in the application intro and we will test each application after the source code is explained.
So let’s start the interesting journey now!
Who this course is for:
- The course is aimed for anyone who wants to learn network programming
- If you have never written code, this course is probably not for you.
- Introduction To Networking
- Java Threads
- I/O Streams
- Java Sockets
- Java UDP programming
- Send Emails using SMTP protocol
- File Transfer Application
- Basic Web Server Application
- GUI Chat Application