https://github.com/vimalyad/computer_networks
A comprehensive collection of network programming implementations and data structure algorithms in Java and Python.
https://github.com/vimalyad/computer_networks
Last synced: 15 days ago
JSON representation
A comprehensive collection of network programming implementations and data structure algorithms in Java and Python.
- Host: GitHub
- URL: https://github.com/vimalyad/computer_networks
- Owner: vimalyad
- Created: 2025-09-03T17:02:20.000Z (10 months ago)
- Default Branch: master
- Last Pushed: 2025-11-08T22:14:31.000Z (8 months ago)
- Last Synced: 2026-02-10T18:38:01.530Z (5 months ago)
- Language: Java
- Homepage:
- Size: 55.7 KB
- Stars: 1
- Watchers: 0
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Network Programming
A comprehensive collection of network programming implementations and data structure algorithms in Java and Python.
## 📁 Project Structure
```
├── Assignments/
│ ├── client_server_basic_tcp/ # Basic TCP client-server implementation
│ ├── client_server_basic_udp/ # Basic UDP client-server implementation
│ ├── client_server_turn_based_chat_tcp/ # Turn-based TCP chat application
│ └── ...
├── HTTP/
│ └── Server/ # HTTP server implementation from scratch
├── Graph/
│ ├── Bellman_Ford/ # Bellman-Ford algorithm
│ ├── Dijikstra/ # Dijkstra's shortest path
│ └── ...
└── Socket_Programming/
├── Java/ # Java socket implementations
└── Python/ # Python socket implementations
```
## 🚀 Quick Start
### Prerequisites
- Java 11 or higher
- Python 3.8+ (for Python implementations)
- Basic understanding of socket programming
### Running Examples
**TCP Client-Server:**
```bash
# Start server
java Assignments.client_server_basic_tcp.Main
# In another terminal, start client
java Assignments.client_server_basic_tcp.Client
```
**HTTP Server:**
```bash
java HTTP.Server.Server [port] [host]
# Example: java HTTP.Server.Server 8080 127.0.0.1
```
## 🤝 Contributing
We welcome contributions! Here's how you can help:
### Getting Started
1. Fork the repository
2. Create a feature branch (`git checkout -b feature/AmazingFeature`)
3. Commit your changes (`git commit -m 'Add some AmazingFeature'`)
4. Push to the branch (`git push origin feature/AmazingFeature`)
5. Open a Pull Request
### Contribution Guidelines
- **Code Style**: Follow existing code formatting and naming conventions
- **Documentation**: Add clear comments and update README if needed
- **Testing**: Test your implementations thoroughly before submitting
- **Commit Messages**: Write clear, descriptive commit messages
- **One Feature per PR**: Keep pull requests focused on a single feature or fix
### What to Contribute
- Bug fixes and improvements
- New socket programming examples
- Additional graph algorithms
- Performance optimizations
- Documentation improvements
- Test cases
## 📝 Code Standards
- Use meaningful variable and function names
- Include proper error handling
- Add comments for complex logic
- Follow the existing package structure
- Ensure proper resource cleanup (close sockets, streams, etc.)
## 🐛 Reporting Issues
Found a bug? Please open an issue with:
- Clear description of the problem
- Steps to reproduce
- Expected vs actual behavior
- Environment details (OS, Java version, etc.)
## 📄 License
This project is open source and available for educational purposes.
## 👨💻 Author
**[Vimal Kumar Yadav](https://github.com/yamiSukehiro2907)**
## 🙏 Acknowledgments
Thanks to all contributors who help improve this repository!
---
**Note**: This repository is primarily for educational purposes and learning network programming concepts.