https://github.com/rodaine/grpc-chat
Simple Chat Server/Client implemented with gRPC
https://github.com/rodaine/grpc-chat
chat docker go golang grpc grpc-chat grpc-go protobuf protocol-buffers
Last synced: about 2 months ago
JSON representation
Simple Chat Server/Client implemented with gRPC
- Host: GitHub
- URL: https://github.com/rodaine/grpc-chat
- Owner: rodaine
- License: mit
- Created: 2017-10-13T04:22:22.000Z (over 7 years ago)
- Default Branch: main
- Last Pushed: 2024-06-11T19:59:45.000Z (11 months ago)
- Last Synced: 2024-06-20T16:31:07.486Z (11 months ago)
- Topics: chat, docker, go, golang, grpc, grpc-chat, grpc-go, protobuf, protocol-buffers
- Language: Go
- Homepage: https://rodaine.com/talks/2017-10-17-types-all-the-way-down/slides.pdf
- Size: 34.2 KB
- Stars: 160
- Watchers: 3
- Forks: 34
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# grpc-chat [](https://hub.docker.com/r/rodaine/grpc-chat/)
A simple chat server/client implemented with [gRPC](https://grpc.io) in Go. Built with :heart: for the [Orange County Gopher's Meetup](https://www.meetup.com/Orange-County-Gophers/).
> This project is for demonstrating some of the features of gRPC in Go and should not be used in production.
## Installation
Installation requires the Go toolchain.
```bash
go install github.com/rodaine/grpc-chat
```## Usage
```bash
$ grpc-chat --help
Usage of grpc-chat:
-h string
the chat server's host (default "0.0.0.0:6262")
-n string
the username for the client
-p string
the chat server's password
-s run as the server
-v enable debug logging
```### Server
```bash
grpc-chat -s -p "super-secret"
```### Client
```bash
grpc-chat -h "chat.example.com:6262" -p "super-secret" -n "Rodaine"
```## Docker
A Dockerfile is included with this project and the image is [hosted on the Docker Hub](https://hub.docker.com/r/rodaine/grpc-chat).
### Run as Server
```bash
docker run --rm \
-p 6262:6262 \
rodaine/grpc-chat \
-s -p "super-secret"
```### Run as Client
```bash
docker run --rm -i \
rodaine/grpc-chat \
-h "chat.example.com" \
-p "super-secret" \
-n "Rodaine"
```