DEV Community

道友请留步
道友请留步

Posted on

GWS: Simple, Fast, Reliable Go WebSocket Server & Client

Introduction

GWS (Go WebSocket) is a very simple, fast, reliable and feature-rich WebSocket implementation written in Go. It is designed to be used in highly-concurrent environments, and it is suitable for building API, Proxy, Game, Live Video, Message, etc. It supports both server and client side with a simple API which mean you can easily write a server or client by yourself.

GWS developed base on Event-Driven model. every connection has a goroutine to handle the event, and the event is able to be processed in a non-blocking way.

Why GWS

  • Simplicity and Ease of Use
    User-Friendly API: Straightforward and easy-to-understand API, making server and client setup hassle-free.
    Code Efficiency: Minimizes the amount of code needed to implement complex WebSocket solutions.

  • High-Performance
    Zero Allocs IO: Built-in multi-level memory pool to minimize dynamic memory allocation during reads and writes.
    Optimized for Speed: Designed for rapid data transmission and reception, ideal for time-sensitive applications.

  • Reliability and Stability
    Event-Driven Architecture: Ensures stable performance even in highly concurrent environments.
    Robust Error Handling: Advanced mechanisms to manage and mitigate errors, ensuring continuous operation.

Quick Start

start

Benchmark

bench

Top comments (0)