Skip to main content

A simple client server utility that blocks until a message is received on a TCP/IP socket connection

Project description

build Code Grade vulnerabilities PyPI version python

wait-for-message

A simple client server utility that blocks until a message is received on a TCP/IP socket connection; useful for synchronizing interdependent networked jobs.

w4m Usage

usage: w4m [-h] {send,wait} ...

A simple client server utility that blocks until a message is received on a TCP/IP socket connection

positional arguments:
  {send,wait}
    send       send message to server
    wait       wait for message from client

optional arguments:
  -h, --help   show this help message and exit

w4m send

usage: w4m send [-h] --ip-address IP_ADDRESS --port-number PORT_NUMBER --message MESSAGE_TO_SEND [--delay DELAY] [--attempts MAX_ATTEMPTS]

optional arguments:
  -h, --help            show this help message and exit
  --ip-address IP_ADDRESS
                        the ip address of the server
  --port-number PORT_NUMBER
                        the port number the server is listening on
  --message MESSAGE_TO_SEND
                        the message to send
  --delay DELAY         number of seconds to delay between retries; default 10
  --attempts MAX_ATTEMPTS
                        maximum retry attempts; default 6

w4m wait

usage: w4m wait [-h] --port-number PORT_NUMBER --message MESSAGE_TO_WAIT_FOR [--timeout TIMEOUT]

optional arguments:
  -h, --help            show this help message and exit
  --port-number PORT_NUMBER
                        the port number the server is listening on
  --message MESSAGE_TO_WAIT_FOR
                        the message to wait for
  --timeout TIMEOUT     number of seconds to wait for message; default 900 (i.e. 15 minutes)

Example

server

Start tcp/ip socket listening on port 8080 and wait for message

w4m wait --port-number 8080 --message 'ready to proceed'

client

Connect tcip/ip socket to ip:port and send several messages

w4m send --ip-address 192.168.1.199 --port-number 8080 --message 'a message'
w4m send --ip-address 192.168.1.199 --port-number 8080 --message 'another message'
w4m send --ip-address 192.168.1.199 --port-number 8080 --message 'ready to proceed'

example1

Development

Build the Docker image:

docker image build \
-t \
w4m:latest .

Run the Docker container:

docker container run \
--rm \
-it \
-v $PWD:/code \
-p:8080:8080 \
w4m:latest \
bash

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

wait-for-message-0.1.0.tar.gz (4.4 kB view hashes)

Uploaded Source

Built Distribution

wait_for_message-0.1.0-py3-none-any.whl (5.0 kB view hashes)

Uploaded Python 3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page