mirror of
https://github.com/php-win-ext/grpc.git
synced 2026-03-25 17:42:16 +01:00
51 lines
1.5 KiB
Markdown
51 lines
1.5 KiB
Markdown
# Unix Domain Socket Example in gRPC Python
|
|
|
|
## Check Our Guide First
|
|
|
|
For knowing the basics of gRPC Python and the context around the helloworld example, please checkout our gRPC Python [Quick Start guide](https://grpc.io/docs/languages/python/quickstart).
|
|
|
|
## Overview
|
|
|
|
This example demonstrate how gRPC Python can utilize the gRPC Name Resolution mechanism to specify UDS address for clients and servers. The gRPC Name Resolution mechanism is documented at https://github.com/grpc/grpc/blob/master/doc/naming.md.
|
|
|
|
Specifically, this example will bind the server to the following UDS addresses, and use clients to connect to them:
|
|
|
|
* `unix:path`: setting the unix domain socket path relatively or absolutely
|
|
* `unix://absolute_path`: setting the absolute path of the unix domain socket
|
|
|
|
## Prerequisite
|
|
|
|
The Python interpreter should have `grpcio` and `protobuf` installed.
|
|
|
|
## Running The Example
|
|
|
|
Starting the server:
|
|
|
|
```
|
|
$ python3 greeter_server.py
|
|
INFO:root:Server listening on: unix:helloworld.sock
|
|
INFO:root:Server listening on: unix:///tmp/helloworld.sock
|
|
...
|
|
```
|
|
|
|
```
|
|
$ python3 async_greeter_server.py
|
|
INFO:root:Server listening on: unix:helloworld.sock
|
|
INFO:root:Server listening on: unix:///tmp/helloworld.sock
|
|
...
|
|
```
|
|
|
|
Connecting with a client:
|
|
|
|
```
|
|
$ python3 greeter_client.py
|
|
INFO:root:Received: Hello to unix:helloworld.sock!
|
|
INFO:root:Received: Hello to unix:///tmp/helloworld.sock!
|
|
```
|
|
|
|
```
|
|
$ python3 async_greeter_client.py
|
|
INFO:root:Received: Hello to unix:helloworld.sock!
|
|
INFO:root:Received: Hello to unix:///tmp/helloworld.sock!
|
|
```
|