Java socket networking exercises including Daytime servers, concurrency models, and port scanning.
This project contains a collection of Java networking exercises exploring socket programming and concurrency models. It demonstrates client-server communication, multiple server architectures, and basic network scanning.
Developed as part of coursework focused on understanding TCP/IP communication and concurrent server design.
Connects to a Daytime Protocol server and retrieves the current time.
Basic single-threaded server responding with the current date/time.
Sequential server variant introducing simulated delay.
Thread-per-client implementation allowing multiple simultaneous connections.
Uses a fixed thread pool via ExecutorService to handle client requests efficiently.
Scans low-numbered ports on a host to detect active services.
- TCP socket communication
- Client-server architecture
- Thread-per-connection design
- Thread pooling
- Java concurrency utilities
- Network service discovery
Compile:
javac -d out src/ie/atu/sw/*.java
Run examples:
java -cp out ie.atu.sw.DayTimeServer
java -cp out ie.atu.sw.DayTimeClient
java -cp out ie.atu.sw.LowPortScanner
Eoghan Fallon
Part of my software development learning portfolio.