An open API service indexing awesome lists of open source software.

https://github.com/riz4d/sockettalk

SocketTalk is a lightweight, command-line interface (CLI)-based chat application designed for seamless communication over a local network
https://github.com/riz4d/sockettalk

Last synced: 8 months ago
JSON representation

SocketTalk is a lightweight, command-line interface (CLI)-based chat application designed for seamless communication over a local network

Awesome Lists containing this project

README

          

# Socket Talk

**Socket Talk** is a simple Python-based terminal chat application that allows multiple clients to connect to a server and chat in real time. The server can also send broadcast messages to all connected clients using the nickname "Server" or "Admin". This project is built using only Python's standard libraries.

## Features

- **Multi-Client Support:** Multiple clients can join the chat simultaneously.
- **Nickname Support:** Each client is prompted to enter a nickname when connecting.
- **Server Broadcast:** The server (or admin) can send messages to all clients without displaying them in the server's terminal.
- **Real-Time Chat:** Messages are instantly shared between connected clients and the server.
- **Terminal-Based:** No external libraries or GUI frameworks are needed.

## How It Works

### Server:

- Listens for incoming connections.
- Assigns nicknames to clients.
- Broadcasts messages to all connected clients.
- Allows the server admin to send messages (these messages are only broadcasted to clients and do not appear in the server's terminal).

### Clients:

- Connect to the server and choose a nickname.
- Send messages to all other clients.
- Receive messages from other clients and the server.

## Troubleshooting

### Connection Issues:

- Ensure the server is running before starting a client.
- Verify the correct IP address and port.

### Message Display Issues:

- If messages do not appear correctly, ensure your terminal supports real-time updates.

## License
This project is licensed under the MIT License. See the LICENSE file for details.

## Contributing
Contributions are welcome! If you have suggestions, improvements, or bug fixes, please fork the repository and submit a pull request. For issues or feature requests, please open an issue on GitHub.