Skip to content

Mecope1/tin-can-communicator

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

16 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

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.

About

Chat application built in Golang 1.13 that utilizes a custom binary protocol over tcp sockets

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages