{"id":20405821,"url":"https://github.com/aryak0512/socket-programming","last_synced_at":"2026-06-08T10:31:12.452Z","repository":{"id":204130953,"uuid":"711134678","full_name":"aryak0512/socket-programming","owner":"aryak0512","description":"A custom web server created from scratch using Java sockets that can serve concurrent requests. This server has a test page (similar to Apache's) and a sign up page from which form data can be read.","archived":false,"fork":false,"pushed_at":"2023-10-29T17:19:00.000Z","size":42,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-03-05T02:18:35.574Z","etag":null,"topics":["java-8","socket-programming","sockets","web","webserver"],"latest_commit_sha":null,"homepage":"","language":"HTML","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/aryak0512.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2023-10-28T10:17:00.000Z","updated_at":"2023-11-18T08:34:51.000Z","dependencies_parsed_at":null,"dependency_job_id":"f3c1b70c-905e-4733-b479-8d321cdf319f","html_url":"https://github.com/aryak0512/socket-programming","commit_stats":null,"previous_names":["aryak0512/socket-programming"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/aryak0512/socket-programming","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/aryak0512%2Fsocket-programming","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/aryak0512%2Fsocket-programming/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/aryak0512%2Fsocket-programming/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/aryak0512%2Fsocket-programming/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/aryak0512","download_url":"https://codeload.github.com/aryak0512/socket-programming/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/aryak0512%2Fsocket-programming/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":34059153,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-26T15:22:16.424Z","status":"online","status_checked_at":"2026-06-08T02:00:07.615Z","response_time":111,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["java-8","socket-programming","sockets","web","webserver"],"created_at":"2024-11-15T05:13:23.370Z","updated_at":"2026-06-08T10:31:12.437Z","avatar_url":"https://github.com/aryak0512.png","language":"HTML","funding_links":[],"categories":[],"sub_categories":[],"readme":"\n# Custom Web server\n\nThis 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\n\n## Demo\n\nhttps://github.com/aryak0512/socket-programming/assets/57310005/75916e0b-bf57-42f8-8a42-6ead2c697315\n## Run Locally\n\nClone the project\n\n```bash\n  git clone https://github.com/aryak0512/socket-programming.git\n```\n\nGo to the project directory\n\n```bash\n  cd socket-programming\n```\n\nInstall JDK 11\n\nStart the server. Right click -\u003e Server.java -\u003e Run as Java Application. Server is ready to accept requests on port 7200.\n\n\n## Deployment\n\nTo build this project run\n\n```bash\n  java -jar webserver.jar\n```\n\n## Load tests\n\u003c!DOCTYPE html\u003e\n\u003chtml\u003e\n\u003cbody\u003e\n\n\u003ch2\u003eConcurreny Test results\u003c/h2\u003e\n\n\u003cpre\u003eThis is ApacheBench, Version 2.3 \u0026lt;$Revision: 1879490 $\u0026gt;\nCopyright 1996 Adam Twiss, Zeus Technology Ltd, http://www.zeustech.net/\nLicensed to The Apache Software Foundation, http://www.apache.org/\n\nBenchmarking localhost (be patient).....done\n\n\nServer Software:        \nServer Hostname:        localhost\nServer Port:            7200\n\nDocument Path:          /signup\nDocument Length:        0 bytes\n\nConcurrency Level:      10\nTime taken for tests:   0.003 seconds\nComplete requests:      10\nFailed requests:        0\nTotal transferred:      7210 bytes\nHTML transferred:       0 bytes\nRequests per second:    3644.31 [#/sec] (mean)\nTime per request:       2.744 [ms] (mean)\nTime per request:       0.274 [ms] (mean, across all concurrent requests)\nTransfer rate:          2565.97 [Kbytes/sec] received\n\nConnection Times (ms)\n              min  mean[+/-sd] median   max\nConnect:        0    1   0.3      1       1\nProcessing:     0    1   0.2      1       1\nWaiting:        0    0   0.3      0       1\nTotal:          1    1   0.2      1       2\n\nPercentage of the requests served within a certain time (ms)\n  50%      1\n  66%      1\n  75%      1\n  80%      2\n  90%      2\n  95%      2\n  98%      2\n  99%      2\n 100%      2 (longest request)\u003c/pre\u003e\n\n\n\n\u003c/body\u003e\n\u003c/html\u003e\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Faryak0512%2Fsocket-programming","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Faryak0512%2Fsocket-programming","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Faryak0512%2Fsocket-programming/lists"}