Skip to content

Latest commit

 

History

History
61 lines (50 loc) · 2.66 KB

README.md

File metadata and controls

61 lines (50 loc) · 2.66 KB

PingTool

Lightweight socket application, built to ping annoying colleagues who won't respond.

GitHub release Python package wakatime GitHub License GitHub last commit (branch) GitHub repo size PyPI - License PyPI - Format PyPI - Implementation PyPI - Version PyPI - Python Version

PingTool is an application with a client / server implementation that allows you to ping other users.
This project aims to demonstrate modern socket and threading capabilities in a Python format.

Features

  • Lightweight client / server implementation.
  • Simple command system.
  • Argument parsing.
  • Logging system.
  • Configurable settings.
  • Multithreading server for multiple connections.
  • Threaded client for sending and receiving data.
  • Easy to use command system.

Installation

You can install and update the project through PyPi;

$ pip install PingTool

Optionally, you can install and run manually by pulling from the latest release

  1. Run the client by running python client.py
  2. The server is executable via python server.py
  3. Configuration is done via config.json and arguments.

Description

Program makes use of built-in the Python sockets library.
Server accepts commands, by sending and receiving specific commands.

All responses and commands are sent following a static format, cmd:arg.
This also goes for responses, which follow the same format.

Sending an end-line is recommended, but not required.
Data is sent in utf-8 encoded bytes.

Configuration

The server makes use of config.json for configuration.
Furthermore, both client and server make use arguments for runtime configuration.

Make use of --help or -h to see all available arguments.

Details

For more information, see the wiki

Dependencies

Credits go to these awesome projects for making this possible!