tin-can-communicator

command module
v0.0.0-...-ad40719 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Apr 16, 2021 License: MIT Imports: 4 Imported by: 0

README

Tin Can Communicator

Command line chat app built in Golang 1.13 with tcp sockets and a custom binary protocol.

Currently a work in progress.

Features

  • Chat with other people using the command line!
  • 256 Chat rooms available. (numbered 0-255)
  • 200 character limit per message
  • Chat messages are only broadcast to members of the same chat room.
  • Utilizes a TLV style binary protocol to encode and decode messages.

Basic Usage

Server
  1. Build and run the executable using go run config.go -mode=server -port=####
  2. When you want to stop the server, simply press ctrl+c. (This will disconnect all clients immediately!)
Client
  1. Build and run the executable using go run config.go -mode=client -address=your.address.goes.here:####
  2. Enter a username (3+ characters).
  3. Enter a desired chat room number (0-255).
  4. Chat!
  5. When you're finished, simply press ctrl+c or the escape key to quit.

Extra Repos

Here are some other repositories that I created to test out new libraries, or explore some concepts

To Do

  • Add in additional tests
  • Make error handling even more robust
  • Allow users to easily join a different room
  • Integrate a database to store chat logs
  • Setup auth system, allowing persistent users
  • Allow users to send requests to my unit-converter api/ web app from the chat app
References

These are places that I had read from and that I found very helpful in building this.

Documentation

The Go Gopher

There is no documentation for this package.

Directories

Path Synopsis

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL