Skip to content

rodaine/grpc-chat

Repository files navigation

grpc-chat

A simple chat server/client implemented with gRPC in Go. Built with ❤️ for the Orange County Gopher's Meetup.

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.

go install github.com/rodaine/grpc-chat

Usage

$ 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

grpc-chat -s -p "super-secret"

Client

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.

Run as Server

docker run --rm \
  -p 6262:6262 \
  rodaine/grpc-chat \
  -s -p "super-secret"

Run as Client

docker run --rm -i \
  rodaine/grpc-chat \
  -h "chat.example.com" \
  -p "super-secret" \
  -n "Rodaine"