An example chat server in golang.
Go to file
AJ ONeal e7ae08c8fe some file organization 2018-08-02 01:09:34 -06:00
public feature complete!! (for the time spend I have for now) 2018-08-01 19:13:10 -06:00
.gitignore Initial commit 2018-07-21 21:45:42 +00:00
LICENSE Initial commit 2018-07-21 21:45:42 +00:00
README.md feature complete!! (for the time spend I have for now) 2018-08-01 19:13:10 -06:00
chatserver-http.go some file organization 2018-08-02 01:09:34 -06:00
chatserver-telnet.go some file organization 2018-08-02 01:09:34 -06:00
chatserver.go some file organization 2018-08-02 01:09:34 -06:00
config.sample.yml go go restful static server, mighty restful static server! 2018-07-31 01:44:45 -06:00

README.md

chat.go

Rudimentary go chat server as a fun project.

Install

git clone https://git.coolaj86.com/coolaj86/chat.go.git

go get gopkg.in/yaml.v2
go get github.com/emicklei/go-restful

Note: I also copied some code directly from https://github.com/polvi/sni/blob/master/sni.go

Usage

Start the server

go run -race chatserver.go -conf ./config.yml

See sample config file at config.sample.yml.

Connect clients

You can connect multiple clients.

telnet localhost 4080

You can also use HTTP. The API docs and examples can be seen at http://localhost:4080

curl http://localhost:4080

Implemented

  • Awesome telnet server (would
  • HTTP API (no UI for the sake of time)
  • Multiplex the same port (because I wanted to learn)
  • E-mail "magic link" authentication (minus the link since it's localhost)

Not Implemented

  • Write to log file (just go run ./chatserver.go > /path/to/log
  • Rooms