Simple package to phone home by sending and receiving arbitrary dictionaries via UDP
Project description
# et
Sending and receiving arbitrary data via UDP
This package implements a lightweight, pure-Python client and server
pair that sends and receives simple Python structures via UDP. The original motivation is to
enable a package to send "phone home" messages.
The default encoding is zlib-compressed json. (pickle is not used out
of security concerns
[[example](https://www.smartfile.com/blog/python-pickle-security-problems-and-solutions/)].)
# Example
```
make devready
```
In one shell, type:
```
$ python et/server.py
INFO:__main__:Listening on localhost:2233
```
In another shell, type:
```
$ python ./et/client.py
```
(There is no output from the client)
In the server window, you should see messages like:
```
INFO:__main__:Received 4 bytes from ('127.0.0.1', 47750) in format 1
INFO:__main__:Received 12 bytes from ('127.0.0.1', 59498) in format 2
INFO:__main__:Received 18 bytes from ('127.0.0.1', 42396) in format 1
{'test': 'data'}
INFO:__main__:Received 26 bytes from ('127.0.0.1', 42598) in format 2
{'test': 'data'}
INFO:__main__:Received 122 bytes from ('127.0.0.1', 57842) in format 1
{'version': '1.2.3rc4', 'sys.version_info': [3, 5, 2, 'final', 0], 'sys.platform': 'linux', 'local_ip': '172.18.20.148'}
INFO:__main__:Received 108 bytes from ('127.0.0.1', 44319) in format 2
{'version': '1.2.3rc4', 'sys.version_info': [3, 5, 2, 'final', 0], 'sys.platform': 'linux', 'local_ip': '172.18.20.148'}
```
Format 1 is json; format 2 is compressed json.
Sending and receiving arbitrary data via UDP
This package implements a lightweight, pure-Python client and server
pair that sends and receives simple Python structures via UDP. The original motivation is to
enable a package to send "phone home" messages.
The default encoding is zlib-compressed json. (pickle is not used out
of security concerns
[[example](https://www.smartfile.com/blog/python-pickle-security-problems-and-solutions/)].)
# Example
```
make devready
```
In one shell, type:
```
$ python et/server.py
INFO:__main__:Listening on localhost:2233
```
In another shell, type:
```
$ python ./et/client.py
```
(There is no output from the client)
In the server window, you should see messages like:
```
INFO:__main__:Received 4 bytes from ('127.0.0.1', 47750) in format 1
INFO:__main__:Received 12 bytes from ('127.0.0.1', 59498) in format 2
INFO:__main__:Received 18 bytes from ('127.0.0.1', 42396) in format 1
{'test': 'data'}
INFO:__main__:Received 26 bytes from ('127.0.0.1', 42598) in format 2
{'test': 'data'}
INFO:__main__:Received 122 bytes from ('127.0.0.1', 57842) in format 1
{'version': '1.2.3rc4', 'sys.version_info': [3, 5, 2, 'final', 0], 'sys.platform': 'linux', 'local_ip': '172.18.20.148'}
INFO:__main__:Received 108 bytes from ('127.0.0.1', 44319) in format 2
{'version': '1.2.3rc4', 'sys.version_info': [3, 5, 2, 'final', 0], 'sys.platform': 'linux', 'local_ip': '172.18.20.148'}
```
Format 1 is json; format 2 is compressed json.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
et-0.0.2.tar.gz
(7.1 kB
view details)
Built Distributions
et-0.0.2-py3.5.egg
(6.6 kB
view details)
File details
Details for the file et-0.0.2.tar.gz
.
File metadata
- Download URL: et-0.0.2.tar.gz
- Upload date:
- Size: 7.1 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | d9ccb5767e0b89cf1f670e88e088039cc9c0c7cf0e7949b286ee21456a511e5a |
|
MD5 | 3f128351bedc884ed587e72427a250a4 |
|
BLAKE2b-256 | 2d3418dba58f737dbf2b697f95a0339469abbe539297bf4a74323062a16650ea |
File details
Details for the file et-0.0.2-py3.5.egg
.
File metadata
- Download URL: et-0.0.2-py3.5.egg
- Upload date:
- Size: 6.6 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 53ea60bdbe275085595c7a04b7b0c544e76a7f956a7f04aaaff62516cf47ecc3 |
|
MD5 | 9a4b96ebc16f9e2baf7454585d4f4e69 |
|
BLAKE2b-256 | 50d74a3b688ca0b1ba84fb027d82707cad3842beef6e7bcb2d6a3c5a5173cfa3 |
File details
Details for the file et-0.0.2-py2.py3-none-any.whl
.
File metadata
- Download URL: et-0.0.2-py2.py3-none-any.whl
- Upload date:
- Size: 5.2 kB
- Tags: Python 2, Python 3
- Uploaded using Trusted Publishing? No
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | e818df914b5a1238c423d0e0dce04eaa939ed5ec19d906952ee6d7136593f7c1 |
|
MD5 | d07754bdff101a61c7501489d2c65009 |
|
BLAKE2b-256 | 7e523350143771b8c99d86a6014202ff7b92b3b78e79c23699ec730f53703bbf |