/grpc-chat

Simple Chat Server/Client implemented with gRPC

Primary LanguageGoMIT LicenseMIT

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, the protoc compiler and the protoc-gen-go plugin.

go get github.com/rodaine/grpc-chat
make install

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"

Build from Scratch

make docker