Skip to main content

Python package which allows creation of simple servers and clients for communication with sockets

Project description

ABOUT

Python package which allows creation of simple servers and clients for communication with sockets. Supports both Python2 and Python3.
Version: 1.0.0

USAGE

- To create a server: Depending on your Python version, import the Server class from the appropriate server module, subclass it and override its act_on() method which describes what it should do when it receives a request, and returns a string response. Finally, create a Server object and call its listen() method.

- To create a client: Depending on your Python version, import the Client class from the appropriate client module, create a Client object and call its poll_server() method. You can then make use of the response it returns as required.

By default, a Python2 client will poll the default Python3 server while a Python3 client will poll the default Python2 server (unlike in the examples below).

EXAMPLES

# Test server with Python2:
from sockets.python2.server import Server
class MyServer(Server):
    def act_on(self, data, addr):
        # Do something with data (in bytes) and return a string.
        return data
server = MyServer(listening_address=('127.0.0.1', 11112))
server.listen()

# Test client with Python2. Polls the Python2 server.
from sockets.python2.client import Client
client = Client()
response, addr = client.poll_server("Hello world", server=('127.0.0.1', 11112))
print response, addr

# Test server with Python3:
from sockets.python3.server import Server
class MyServer(Server):
    def act_on(self, data, addr):
        # Do something with data (in bytes) and return a string.
        return data.decode()
server = MyServer(listening_address=('127.0.0.1', 11113))
server.listen()

# Test client with Python3. Polls the Python3 server.
from sockets.python3.client import Client
client = Client()
response, addr = client.poll_server("Hello world", server=('127.0.0.1', 11113))
print(response, addr)

CONTRIBUTING AUTHORS

Ehiorobo Evans (2018).

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

sockets-1.0.0.tar.gz (2.5 kB view details)

Uploaded Source

Built Distribution

sockets-1.0.0-py3-none-any.whl (4.5 kB view details)

Uploaded Python 3

File details

Details for the file sockets-1.0.0.tar.gz.

File metadata

  • Download URL: sockets-1.0.0.tar.gz
  • Upload date:
  • Size: 2.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No

File hashes

Hashes for sockets-1.0.0.tar.gz
Algorithm Hash digest
SHA256 0d5691402d3da39c9ef6330647d847b0bed93a4ce8b23bf1a18133e2dcbb5c8d
MD5 815fe9cd067f99368fa49e2500b505cb
BLAKE2b-256 c2a76bc7eeefb624e03e5a34c2c0d8eff6525487b1af0ccfd62d0f83a62a5400

See more details on using hashes here.

File details

Details for the file sockets-1.0.0-py3-none-any.whl.

File metadata

File hashes

Hashes for sockets-1.0.0-py3-none-any.whl
Algorithm Hash digest
SHA256 cdb78b0f37b78adadedcc55cdd73c61aacbeb0f00c4c551f1b60f1463457c90b
MD5 99c8236c29513713d7cc4e576b4e3c97
BLAKE2b-256 cd84bd124c5d3c012de593c45c7f0208615c73493859bbd5389e1403e311d387

See more details on using hashes here.

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