This is a pure Java implementation of a multithreaded web server written by me from scratch which can serve 10 concurrent requests. This project uses the socket programming Java API from the java.net package
Demo.mp4
Clone the project
git clone https://github.com/aryak0512/socket-programming.git
Go to the project directory
cd socket-programming
Install JDK 11
Start the server. Right click -> Server.java -> Run as Java Application. Server is ready to accept requests on port 7200.
To build this project run
java -jar webserver.jar
This is ApacheBench, Version 2.3 <$Revision: 1879490 $> Copyright 1996 Adam Twiss, Zeus Technology Ltd, http://www.zeustech.net/ Licensed to The Apache Software Foundation, http://www.apache.org/ Benchmarking localhost (be patient).....done Server Software: Server Hostname: localhost Server Port: 7200 Document Path: /signup Document Length: 0 bytes Concurrency Level: 10 Time taken for tests: 0.003 seconds Complete requests: 10 Failed requests: 0 Total transferred: 7210 bytes HTML transferred: 0 bytes Requests per second: 3644.31 [#/sec] (mean) Time per request: 2.744 [ms] (mean) Time per request: 0.274 [ms] (mean, across all concurrent requests) Transfer rate: 2565.97 [Kbytes/sec] received Connection Times (ms) min mean[+/-sd] median max Connect: 0 1 0.3 1 1 Processing: 0 1 0.2 1 1 Waiting: 0 0 0.3 0 1 Total: 1 1 0.2 1 2 Percentage of the requests served within a certain time (ms) 50% 1 66% 1 75% 1 80% 2 90% 2 95% 2 98% 2 99% 2 100% 2 (longest request)