Giter Club home page Giter Club logo

computer-networks's Introduction

Python Socket Programming

This repository provides a set of Python scripts demonstrating various aspects of socket programming, particularly focusing on TCP protocol and client-server interactions. Each example is crafted to illustrate key network programming concepts, ranging from simple data transmissions to complex protocol implementations like Reliable Data Transfer (RDT) 3.0.

Contents

1. TCP Server-Client JSON Communication

  • Description: These scripts demonstrate a TCP server and client exchanging data in JSON format. The client sends a JSON request for specific operations (e.g., squaring a number), and the server responds in JSON. This example is excellent for learning structured data exchange in network programming.

2. TCP Date-Time Server

  • Description: This example features a TCP server that sends the current date and time to the client. It's a straightforward implementation showing data transmission over TCP.

3. Reliable Data Transfer (RDT) 3.0 Implementation

  • Description: These scripts implement the RDT 3.0 protocol, which ensures reliable data transfer over an unreliable network layer. This example is critical for understanding how higher-level protocols like TCP manage reliable communication over the inherently unreliable IP layer.

4. TCP Chat Client

  • Description: A TCP client designed to send messages to an echo server and receive responses. This script demonstrates bi-directional communication and continuous data exchange in a networked application.

5. DNS Resolver

  • Description: A simple code for getting the IP_address

Usage Instructions

  • Python 3.x is required.
  • Run the server script first, then the client script.
  • For scripts involving both server and client, use separate terminals or machines but within the same network.

Requirements

  • Python 3.x
  • Basic understanding of networking concepts
  • Network access for socket communication

Disclaimer

These scripts are intended for educational purposes, illustrating basic to intermediate concepts in socket programming with Python. They are not suited for production environments without modifications and testing.

computer-networks's People

Contributors

bbl-sh avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.