Skip to content

AvaAvarai/go-sockets

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

10 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Go-Sockets: A Simple Chat Application

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. Example chat interaction

Features

  • 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.

Prerequisites

Installation & Usage

  1. Clone the Repository:

    git clone https://github.com/avaavarai/go-sockets.git
    cd go-sockets
  2. Install Dependencies:

    go get github.com/google/uuid
  3. Run the Server:

    go run server\main.go

    This starts the server on localhost:8080.

  4. 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.

Contributing

We welcome contributions! Please feel free to submit pull requests, report bugs, and suggest new features.

License

This project is available under the GPL-3.0 License. See LICENSE for more details.

About

Concurrent socket server-client chat interfaces in GoLang

Resources

License

Stars

Watchers

Forks

Languages