
Declare variables in Java by choosing a data type such as int, String, Double, or Boolean, name your variable, and assign a value. Print with System.out.println() in VarDemo.
Explore how to use Java operators, including relational and logical operators, to build boolean expressions, compare numbers, and print true or false.
Implement a UDP client-server using datagram sockets, binding port 8088, handling datagram packets, and exchanging 'how are you' data via getByName() resolved IP and port.
Learn to create Java threads by extending Thread or implementing Runnable, override run, instantiate ThreadDemo, and start threads to observe asynchronous output printing 0–4 and 10–14 to the terminal.
Learn how to implement thread pooling with an executor service using newCachedThreadPool to run multiple tasks simultaneously. Achieve a clean shutdown after tasks complete.
Build an SSL client-server socket program over TCP/IP, configuring server and client keystores and truststores, and enabling cipher suites. Perform handshake, exchange certificates, exchange hello messages, and close the connection.
Learn to communicate with a proxy server and perform http requests through a socks proxy in Java by building a proxy client and testing with a Windows proxy.
This bootcamp is designed for everyone who wants to learn and upgrade network programming skill using Java. The bootcamp focuses on Socket programming so that students could understand how network protocol work. Various network protocols are explored in order to get more practices in network programming.
For students without Java programming skill, I'll give a brief Java programming so you can follow this bootcamp. You will learn the following topics:
declaring variables
working with input/output
declaring operators
making conditional statements with if and switch
making loop statements
working with array and collection
learning OOP with Java such as Class, Inheritance, Interface
handling errors and exceptions
In this bootcamp, you will learn how to write Java Socket programs for network context. Starting to learn basic Socket programming using Java. Then, you will learn about multithreading in Java. You will implement the following protocol using Java Socket:
HTTP
FTP
SMTP
POP3
IMAP
Next, we explore advanced Socket topics such as SSL Socket, HTTPS, Proxy Server. We also learn how to build Socket programs for NTP and Whois protocols.