Skip to content

PabloLec/sb_websocket_rust

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

13 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

sb_websocket_rust

Overview

This project is a console-based chat interface that relies on WebSocket communication. One instance acts as a server if no existing server is found, while the other takes on the role of a client. The UI is created using Ratatui.

Demo

Demo

Instructions to Run

  • Run two separate instances of the application using:
docker run -it --network host pablolec/sb_websocket_rust:latest
  • Once both instances are up and connected, type your message, press Enter to send, and Esc to exit the application.

Enhancements

  • The WebSocket implementation currently uses only the standard library and thus covers only a small part of RFC 6455. For example, there is currently no solution to gracefully shut down the connection.
  • The application currently operates intentionally only on localhost. An area for improvement would be to display an initial screen with the option to select the host and port to connect to.
  • The UI can obviously be improved, for instance, by adding metadata (users, timestamps of messages) or by offering the possibility to scroll through messages.