Java Network Programming – TCP/IP Socket Programming

Java Network Programming – TCP/IP Socket Programming

English | MP4 | AVC 1280×720 | AAC 48KHz 2ch | 3.5 Hours | 503 MB

Learn how to write powerful network applications.

Each chapter has an intro video to cover basic theory needed to understand the rest of the material covered.

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 a UDP server and a 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.

What Will I 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
Table of Contents

Introduction To Networking
1 Introduction
2 Networking Fundamentals
3 TCP_IP Model
4 TCP_IP Communication
5 Internet Protocol (IP)
6 Loopback Interface

Java Threads
7 Thread Intro
8 Networking and Threads
9 Implementing Threads in Java
10 Create the first thread
11 Run Multiple Threads Concurrently
12 Sleep a Thread
13 Runnable

I_O Streams
14 Java I_O Intro
15 FileInputStream
16 FileOutputStream
17 DataStream
18 Character Streams part I
19 Character Streams part II
20 Character Streams part III
21 BufferedStream
22 PrintStream
23 System_in

Java Sockets
24 Java Socket Programming Intro
25 Local Port Scanner
26 TCP Server
27 Multi-user Server
28 Multithreaded Server
29 InetAddress class
30 TCP Client
31 Remote Port Scanner
32 Ping
33 Validate IP addresses
34 NetworkInterface class
35 URL and Web Scraping

Java UDP programming
36 UDP Intro
37 UDP Client
38 UDP Server
39 UDP Timeout

Send Emails using SMTP protocol
40 SMTP Protocol
41 Application
42 Install a SMTP server
43 Run the Application

File Transfer Application
44 What we are going to build_
45 Application – Server Side
46 Application – Client Side
47 Run the Application

Simple Web Server Application
48 HTTP overview
49 Application

GUI Chat Application
50 GUI Chat Application Source Code