Go-Sockets is a lightweight chat application built using the Go programming language. It allows multiple clients to connect over sockets and communicate in real-time. Each client is assigned an anonymized unique identifier (UUID), ensuring privacy and anonymity.
Example chat interaction with two clients.
- Simple Server-Client Architecture: Utilizes Go's built-in
net
package to establish TCP connections. - Anonymized IDs for Clients: Each client is assigned a randomized UUID to ensure privacy.
- Concurrent Handling: The server can handle multiple client connections concurrently, thanks to Go's Goroutines.
- Go (Version 1.20.6 or newer is recommended)
- Visual Studio Code (Recommended for development)
- Go Extension for Visual Studio Code (For enhanced Go development experience in VS Code)
-
Clone the Repository:
git clone https://github.com/avaavarai/go-sockets.git cd go-sockets
-
Install Dependencies:
go get github.com/google/uuid
-
Run the Server:
go run server\main.go
This starts the server on
localhost:8080
. -
Run the Client:
In a new terminal window or instance:
go run client\main.go
This connects the client to the server. You can run multiple clients to simulate a chat environment.
We welcome contributions! Please feel free to submit pull requests, report bugs, and suggest new features.
This project is available under the GPL-3.0 License. See LICENSE for more details.