{"id":42953750,"url":"https://github.com/pray3m/java-networking","last_synced_at":"2026-01-30T21:38:57.277Z","repository":{"id":245578757,"uuid":"812858814","full_name":"pray3m/java-networking","owner":"pray3m","description":"🛜 Network programming with Java - examples, resources and labs","archived":false,"fork":false,"pushed_at":"2024-08-29T08:47:41.000Z","size":88,"stargazers_count":3,"open_issues_count":0,"forks_count":3,"subscribers_count":1,"default_branch":"main","last_synced_at":"2024-08-30T05:41:21.307Z","etag":null,"topics":["java-networking","network-programming"],"latest_commit_sha":null,"homepage":"https://pray3m.github.io/java-networking/","language":"Java","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/pray3m.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","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":"2024-06-10T03:11:48.000Z","updated_at":"2024-08-29T08:47:44.000Z","dependencies_parsed_at":"2024-06-22T22:09:11.832Z","dependency_job_id":"9cf81890-35d3-4c5d-8ec0-05e7684e3891","html_url":"https://github.com/pray3m/java-networking","commit_stats":null,"previous_names":["pray3m/java-networking"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/pray3m/java-networking","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pray3m%2Fjava-networking","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pray3m%2Fjava-networking/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pray3m%2Fjava-networking/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pray3m%2Fjava-networking/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/pray3m","download_url":"https://codeload.github.com/pray3m/java-networking/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pray3m%2Fjava-networking/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28919775,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-01-30T20:25:28.696Z","status":"ssl_error","status_checked_at":"2026-01-30T20:25:13.426Z","response_time":66,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.5:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"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-networking","network-programming"],"created_at":"2026-01-30T21:38:57.199Z","updated_at":"2026-01-30T21:38:57.265Z","avatar_url":"https://github.com/pray3m.png","language":"Java","readme":"[contributors-shield]: https://img.shields.io/github/contributors/pray3m/java-networking.svg?style=for-the-badge\n[contributors-url]: https://github.com/pray3m/java-networking/graphs/contributors\n[forks-shield]: https://img.shields.io/github/forks/pray3m/java-networking.svg?style=for-the-badge\n[forks-url]: https://github.com/pray3m/java-networking/network/members\n[stars-shield]: https://img.shields.io/github/stars/pray3m/java-networking.svg?style=for-the-badge\n[stars-url]: https://github.com/pray3m/java-networking/stargazers\n[issues-shield]: https://img.shields.io/github/issues/pray3m/java-networking.svg?style=for-the-badge\n[issues-url]: https://github.com/pray3m/java-networking/issues\n[license-shield]: https://img.shields.io/github/license/pray3m/java-networking.svg?style=for-the-badge\n[license-url]: https://github.com/pray3m/java-networking/blob/main/LICENSE.txt\n[linkedin-shield]: https://img.shields.io/badge/-LinkedIn-black.svg?style=for-the-badge\u0026logo=linkedin\u0026colorB=555\n\n_Work in Progress_\n\n\u003cdiv align=\"center\"\u003e\n\u003ch1\u003e Network Programming : Comprehensive Guide \u003cbr\u003e| with Java |\u003c/h1\u003e\n\n\u003cp align=\"center\"\u003e\u003cstrong\u003e\n\nDocumentation, Examples and Resources\n\n\u003c/strong\u003e\u003c/p\u003e\n\n\u003c!-- [![Stargazers][stars-shield]][stars-url] [![Forks][forks-shield]][forks-url]\n[![Contributors][contributors-shield]][contributors-url]\n[![Issues][issues-shield]][issues-url]\n[![MIT License][license-shield]][license-url] --\u003e\n\n\u003c!-- Badges --\u003e\n\u003cdiv\u003e\n\u003ca href=\"https://github.com/pray3m/java-networking/stargazers\"\u003e\n  \u003cimg src=\"https://img.shields.io/github/stars/pray3m/java-networking.svg?style=for-the-badge\" alt=\"Stargazers\" /\u003e\n\u003c/a\u003e\n\u003ca href=\"https://github.com/pray3m/java-networking/network/members\"\u003e\n  \u003cimg src=\"https://img.shields.io/github/forks/pray3m/java-networking.svg?style=for-the-badge\" alt=\"Forks\" /\u003e\n\u003c/a\u003e\n\u003ca href=\"https://github.com/pray3m/java-networking/graphs/contributors\"\u003e\n  \u003cimg src=\"https://img.shields.io/github/contributors/pray3m/java-networking.svg?style=for-the-badge\" alt=\"Contributors\" /\u003e\n\u003c/a\u003e\n\u003ca href=\"https://github.com/pray3m/java-networking/issues\"\u003e\n  \u003cimg src=\"https://img.shields.io/github/issues/pray3m/java-networking.svg?style=for-the-badge\" alt=\"Issues\" /\u003e\n\u003c/a\u003e\n\u003ca href=\"https://github.com/pray3m/java-networking/blob/main/LICENSE.txt\"\u003e\n  \u003cimg src=\"https://img.shields.io/github/license/pray3m/java-networking.svg?style=for-the-badge\" alt=\"MIT License\" /\u003e\n\u003c/a\u003e\n\u003c/div\u003e\n\n\u003cbr\u003e \n\u003ch4\u003e Welcome to the repository for Networking Programming \u003cbr\u003e| with Java |\u003cbr\u003e| BCA , CSIT , BIT | \u003cbr\u003e\u003c/h4\u003e\n\n \u003ca href=\"https://github.com/pray3m/java-networking/\" title=\"Star this repository\"\u003e\n    \u003cimg src=\"https://img.shields.io/badge/GitHub-100000?style=for-the-badge\u0026logo=github\u0026logoColor=white\" alt=\"Star\" /\u003e\n  \u003c/a\u003e\n\u003cbr\u003e \n\u003c/div\u003e\n\n# Table of Contents\n\n## [01-InternetAddress](./01-InternetAddress/README.md)\n  - [IP (Internet Protocol) Address](./01-InternetAddress/README.md#ip-internet-protocol-address)\n  - [Domain Names](./01-InternetAddress/README.md#domain-names)\n  - [The InetAddress Class](./01-InternetAddress/README.md#the-inetaddress-class)\n    - [Creating new InetAddress objects](./01-InternetAddress/README.md#creating-new-inetaddress-objects)\n    - [Static Methods](./01-InternetAddress/README.md#static-methods)\n    - [Getter Methods](./01-InternetAddress/README.md#getter-methods)\n    - [Address Types](./01-InternetAddress/README.md#address-types)\n    - [Testing Reachability](./01-InternetAddress/README.md#testing-reachability)\n    - [Object Methods](./01-InternetAddress/README.md#object-methods)\n  - [Inet4Address and Inet6Address](./01-InternetAddress/README.md#inet4address-and-inet6address)\n- [Network Interface](./01-InternetAddress/README.md#network-interface)\n  - [The NetworkInterface Class](./01-InternetAddress/README.md#the-networkinterface-class)\n    - [Creating New NetworkInterface Objects](./01-InternetAddress/README.md#creating-new-networkinterface-objects)\n    - [Static Factory Methods](./01-InternetAddress/README.md#static-factory-methods)\n    - [Getter Methods](./01-InternetAddress/README.md#getter-methods)\n\n## [02-URLs](./02-URLs/README.md)\n  - [The Real Difference: URIs vs URLs vs URNs](./02-URLs/README.md#the-real-difference-uris-vs-urls-vs-urns)\n  - [Structure of a URL](./02-URLs/README.md#structure-of-a-url)\n  - [The URL Class](./02-URLs/README.md#the-url-class)\n    - [Creating new URL objects](./02-URLs/README.md#creating-new-url-objects)\n    - [Retrieving Data from a URL](./02-URLs/README.md#retrieving-data-from-a-url)\n      - [InputStream openStream()](./02-URLs/README.md#inputstream-openstream)\n      - [URLConnection openConnection()](./02-URLs/README.md#urlconnection-openconnection)\n      - [URL Connection openConnection(Proxy proxy)](./02-URLs/README.md#url-connection-openconnectionproxy-proxy)\n      - [Object getContent()](./02-URLs/README.md#object-getcontent)\n    - [Getter Methods](./02-URLs/README.md#getter-methods)\n  - [The URI Class](./02-URLs/README.md#the-uri-class)\n    - [Creating new URI objects](./02-URLs/README.md#creating-new-uri-objects)\n    - [Getter Methods](./02-URLs/README.md#getter-methods-1)\n    - [Resolving Relative URIs](./02-URLs/README.md#resolving-relative-uris)\n  - [The URLEncoder and URLDecoder Classes](./02-URLs/README.md#the-urLEncoder-and-urldecoder-classes)\n    - [URLEncoder](./02-URLs/README.md#urlencoder)\n    - [URLDecoder](./02-URLs/README.md#urldecoder)\n  - [Proxies](./02-URLs/README.md#proxies)\n    - [System Properties](./02-URLs/README.md#system-properties)\n    - [The Proxy Class](./02-URLs/README.md#the-proxy-class)\n    - [The ProxySelector Class](./02-URLs/README.md#the-proxyselector-class)\n  - [Communicating with server side programs through GET](./02-URLs/README.md#communicating-with-server-side-programs-through-get)\n  - [Accessing Password Protected Sites](./02-URLs/README.md#accessing-password-protected-sites)\n    - [The Authenticator Class](./02-URLs/README.md#the-authenticator-class)\n    - [The Password Authentication Class](./02-URLs/README.md#the-password-authentication-class)\n    - [JPassword Field Class](./02-URLs/README.md#jpassword-field-class)\n\n## [03-HTTP](./03-HTTP/README.md)\n  - [The HTTP Protocol](./03-HTTP/README.md#the-http-protocol)\n    - [Typical Client Request](./03-HTTP/README.md#typical-client-request)\n    - [Typical Server Response](./03-HTTP/README.md#typical-server-response)\n  - [HTTP Methods](./03-HTTP/README.md#http-methods)\n    - [GET](./03-HTTP/README.md#get)\n    - [POST](./03-HTTP/README.md#post)\n    - [PUT](./03-HTTP/README.md#put)\n    - [DELETE](./03-HTTP/README.md#delete)\n    - [HEAD](./03-HTTP/README.md#head)\n    - [PATCH](./03-HTTP/README.md#patch)\n    - [OPTIONS](./03-HTTP/README.md#options)\n    - [CONNECT](./03-HTTP/README.md#connect)\n  - [Status Codes](./03-HTTP/README.md#status-codes)\n  - [HTTP Cookies](./03-HTTP/README.md#http-cookies)\n    - [Cookie Structure](./03-HTTP/README.md#cookie-structure)\n    - [Cookie Handler](./03-HTTP/README.md#cookie-handler)\n    - [Default Cookie Manager](./03-HTTP/README.md#default-cookie-manager)\n    - [Custom Cookie Manager](./03-HTTP/README.md#custom-cookie-manager)\n    - [Cookie Store](./03-HTTP/README.md#cookie-store)\n    - [HttpCookie](./03-HTTP/README.md#httpcookie)\n  - [Program](./03-HTTP/README.md#program)\n\n\u003cp align=\"right\"\u003e(\u003ca href=\"#table-of-contents\"\u003eback to top\u003c/a\u003e) ⬆️\u003c/p\u003e\n\n\n## [04-URLConnections](./04-URLConnections/README.md)\n  - [URL Connections](./04-URLConnections/README.md#url-connections)\n    - [Methods of URLConnection class](./04-URLConnections/README.md#methods-of-urlconnection-class)\n    - [Reading the Header](./04-URLConnections/README.md#reading-the-header)\n      - [i. Retrieving specific header fields](./04-URLConnections/README.md#i-retrieving-specific-header-fields)\n      - [ii. Retrieving arbitrary header fields](./04-URLConnections/README.md#ii-retrieving-arbitrary-header-fields)\n    - [Caches](./04-URLConnections/README.md#caches)\n    - [HttpURLConnection](./04-URLConnections/README.md#httpurlconnection)\n    - [The URLStreamHandler Class](./04-URLConnections/README.md#the-urlstreamhandler-class)\n\n## [05-Socket](./05-Socket/README.md)\n  - [Sockets in Java: Client-Side](./05-Socket/README.md#sockets-in-java-client-side)\n    - [Socket Class](./05-Socket/README.md#socket-class)\n    - [Constructors](./05-Socket/README.md#constructors)\n      - [Basic Constructors](./05-Socket/README.md#basic-constructors)\n      - [Proxy Constructors](./05-Socket/README.md#proxy-constructors)\n      - [Constructing without Connecting](./05-Socket/README.md#constructing-without-connecting)\n    - [Getting Socket Information](./05-Socket/README.md#getting-socket-information)\n    - [Sending and Receiving Data](./05-Socket/README.md#sending-and-receiving-data)\n      - [Creating a Client Socket](./05-Socket/README.md#creating-a-client-socket)\n      - [Common Operations](./05-Socket/README.md#common-operations)\n      - [Example: Simple Client](./05-Socket/README.md#example-simple-client)\n    - [Socket Options](./05-Socket/README.md#socket-options)\n      - [TCP_NODELAY](./05-Socket/README.md#tcp_nodelay)\n      - [SO_TIMEOUT](./05-Socket/README.md#so_timeout)\n      - [SO_LINGER](./05-Socket/README.md#so_linger)\n      - [SO_KEEPALIVE](./05-Socket/README.md#so_keepalive)\n      - [SO_REUSEADDR](./05-Socket/README.md#so_reuseaddr)\n      - [SO_RCVBUF](./05-Socket/README.md#so_rcvbuf)\n      - [SO_SNDBUF](./05-Socket/README.md#so_sndbuf)\n      - [SO_OOBINLINE](./05-Socket/README.md#so_oobinline)\n      - [IP_TOS](./05-Socket/README.md#ip_tos)\n\n## [10-IPMulticast](./10-IPMulticast/README.md)\n  - [Multicast Addresses and Groups](./10-IPMulticast/README.md#multicast-addresses-and-groups)\n    - [Multicast Groups](./10-IPMulticast/README.md#multicast-groups)\n  - [Examples of Multicast Groups in Use](./10-IPMulticast/README.md#examples-of-multicast-groups-in-use)\n  - [Multicast Addresses](./10-IPMulticast/README.md#multicast-addresses)\n    - [IPv4 Multicast Addresses](./10-IPMulticast/README.md#ipv4-multicast-addresses)\n  - [Clients and Servers](./10-IPMulticast/README.md#clients-and-servers)\n  - [Routers and Routing](./10-IPMulticast/README.md#routers-and-routing)\n  - [Working with Multicast Sockets](./10-IPMulticast/README.md#working-with-multicast-sockets)\n    - [Constructors](./10-IPMulticast/README.md#constructors)\n  - [Communication With A Multicast Group](./10-IPMulticast/README.md#communication-with-a-multicast-group)\n    - [Joining a Multicast Group](./10-IPMulticast/README.md#joining-a-multicast-group)\n    - [Sending Data to a Multicast Group](./10-IPMulticast/README.md#sending-data-to-a-multicast-group)\n\n## [11-RMI](./11-RMI/README.md)\n  - [Introduction](./11-RMI/README.md#introduction)\n    - [Stubs and Skeletons](./11-RMI/README.md#stubs-and-skeletons)\n    - [RMI Registry](./11-RMI/README.md#rmi-registry)\n  - [Implementation Steps](./11-RMI/README.md#implementation-steps)\n    - [1. Define the Remote Interface](./11-RMI/README.md#define-the-remote-interface)\n    - [2. Marshalling and Unmarshalling](./11-RMI/README.md#marshalling-and-unmarshalling)\n    - [3. Implement the Remote Interface](./11-RMI/README.md#implement-the-remote-interface)\n      - [Steps to Implement the Remote Interface](./11-RMI/README.md#steps-to-implement-the-remote-interface)\n    - [4. Implement the Server](./11-RMI/README.md#implement-the-server)\n    - [5. Create the Client](./11-RMI/README.md#create-the-client)\n  - [Compilation \u0026 Execution](./11-RMI/README.md#compilation--execution)\n    - [Execution Steps](./11-RMI/README.md#execution-steps)\n      - [Compile all the Java files](./11-RMI/README.md#compile-all-the-java-files)\n      - [Generate the Stub files](./11-RMI/README.md#generate-the-stub-files)\n      - [Start the RMI Registry](./11-RMI/README.md#start-the-rmi-registry)\n      - [Start the Server](./11-RMI/README.md#start-the-server)\n      - [Run the Client](./11-RMI/README.md#run-the-client)\n\n\u003csummary\u003e\n\u003ca href=\"#congratulations\"\u003eCongratulations\u003c/a\u003e\n\u003c/summary\u003e\n\n\n\u003ca href=\"#thank-you\"\u003eThank you \u003c/a\u003e\n\n\u003cp align=\"right\"\u003e(\u003ca href=\"#table-of-contents\"\u003eback to top\u003c/a\u003e) ⬆️\u003c/p\u003e\n\n# Congratulations\n\n🎊🎊🎊🎊🎊🎊🎊🎊🎊🎊🎊🎊 Completed all The Course! 🎊🎊🎊🎊🎊🎊🎊🎊🎊🎊🎊🎊\n\n\u003c!-- ## Where do I go now? --\u003e\n\n\u003c!-- ### Learning More --\u003e\n\n\u003c!-- - [Top 10 learning resources](https://patrickalphac.medium.com/top-10-smart-contract-solidity-developer-learning-resources-cb9d60dd1146)\n- [Patrick Collins](https://www.youtube.com/channel/UCn-3f8tw_E1jZvhuHatROwA)\n- [CryptoZombies](https://cryptozombies.io/)\n- [Alchemy University](https://www.alchemy.com/dapps/alchemy-university)\n- [Speed Run Ethereum](https://speedrunethereum.com/)\n- [Ethereum.org](https://ethereum.org/en/) --\u003e\n  \n\n\n# Thank you \u003c3 !\n\nThanks to everyone who is taking, participating in, and working on this repo !. \n\n\u003ca href=\"https://github.com/pray3m/java-networking/graphs/contributors\"\u003e\n\n💚 Contributors\n\u003c!-- \u003cimg src=\"https://contrib.rocks/image?repo=pray3m/java-networking\" /\u003e --\u003e\n\n\u003c/a\u003e\n\n## License\n\nJava Networking content is open-sourced [licensed as GPLv3](https://github.com/pray3m/java-networking/blob/main/LICENSE).\n\n## ⭐ Star the Repository\n\nIf you find this repository useful, please give it a star! It helps others find the project and shows your support.\n\n[Star the Repository](https://github.com/pray3m/java-networking)\n\n## 🤝 Contribute\n\nWe welcome contributions to this repository. If you want to contribute, please follow these steps:\n\n1. Fork the repository\n2. Create a new branch (`git checkout -b feature/YourFeature`)\n3. Commit your changes (`git commit -am 'Add new feature'`)\n4. Push to the branch (`git push origin feature/YourFeature`)\n5. Create a new Pull Request\n\nYour contributions will help improve this project for everyone!\n\n\n\u003cp align=\"right\"\u003e(\u003ca href=\"#table-of-contents\"\u003eback to top\u003c/a\u003e) ⬆️\u003c/p\u003e","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpray3m%2Fjava-networking","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fpray3m%2Fjava-networking","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpray3m%2Fjava-networking/lists"}