This repository has been archived on 2023-03-26. You can view files and clone it, but cannot push or open issues or pull requests.
2018-12-07 14:07:35 +00:00
|
|
|
# IPC-Unix
|
|
|
|
|
|
|
|
[![CircleCI](https://circleci.com/gh/RealOrangeOne/ipc-unix.svg?style=svg)](https://circleci.com/gh/RealOrangeOne/ipc-unix)
|
|
|
|
|
|
|
|
Simple Inter-Process Communication using unix sockets for Python.
|
2018-12-08 14:47:07 +00:00
|
|
|
|
|
|
|
|
|
|
|
## Examples
|
|
|
|
|
|
|
|
### Call / Response
|
|
|
|
|
|
|
|
```python
|
|
|
|
from ipc_unix import Server, Client
|
|
|
|
|
|
|
|
class EchoServer(Server):
|
|
|
|
def handle_request(self, request):
|
|
|
|
return request
|
|
|
|
|
|
|
|
socket_path = '/tmp/sock.sock'
|
|
|
|
server = EchoServer(socket_path)
|
|
|
|
client = Client(socket_path)
|
|
|
|
|
|
|
|
print(client.send({"foo": "bar"}))
|
|
|
|
>>> {"foo": "bar"}
|
|
|
|
|
|
|
|
```
|
|
|
|
|
|
|
|
### Pub-Sub
|
|
|
|
|
|
|
|
```python
|
|
|
|
from ipc_unix import pubsub
|
|
|
|
|
|
|
|
socket_path = '/tmp/sock.sock'
|
|
|
|
publisher = pubsub.Publisher(socket_path)
|
|
|
|
subscriber = pubsub.Subscriber(socket_path)
|
|
|
|
|
|
|
|
publisher.write({"foo": "bar"})
|
|
|
|
print(self.subscriber.get_latest_message())
|
|
|
|
>>> {"foo": "bar"}
|
|
|
|
|
|
|
|
publisher.close()
|
|
|
|
subscriber.close()
|
|
|
|
|
|
|
|
```
|