|
21 | 21 |
|
22 | 22 | ### Introduction |
23 | 23 |
|
24 | | -GWS (Go WebSocket) is a **simple, high‑performance and feature‑complete** WebSocket library written in Go. |
25 | | -It is designed for **high‑concurrency** scenarios and is ideal for building **API gateways, long‑lived connection hubs, reverse proxies, IM / chat, online games, real‑time streaming, and push / subscribe systems**. |
| 24 | +GWS (Go WebSocket) is a **simple, high‑performance and feature‑complete** WebSocket library written in Go. |
| 25 | +It is designed for **high‑concurrency** scenarios and is ideal for building **API gateways, long‑lived connection hubs, reverse proxies, IM / chat, online games, real‑time streaming, and push / subscribe systems**. |
26 | 26 | GWS exposes an extremely **minimal, event‑driven API**, so you can build a stable WebSocket server or client with very little code. |
27 | 27 |
|
28 | 28 | GWS is built on an event‑driven model: every connection has its own goroutine to drive the event loop, and events can be processed in a non‑blocking way. |
@@ -63,7 +63,7 @@ cpu: AMD Ryzen 5 PRO 4650G with Radeon Graphics |
63 | 63 | BenchmarkConn_WriteMessage/compress_disabled-12 5263632 232.3 ns/op 24 B/op 1 allocs/op |
64 | 64 | BenchmarkConn_WriteMessage/compress_enabled-12 99663 11265 ns/op 386 B/op 1 allocs/op |
65 | 65 | BenchmarkConn_ReadMessage/compress_disabled-12 7809654 152.4 ns/op 8 B/op 0 allocs/op |
66 | | -BenchmarkConn_ReadMessage/compress_enabled-12 326257 3133 ns/op 81 B/op 1 allocs/op |
| 66 | +BenchmarkConn_ReadMessage/compress_enabled-12 326257 3133 ns/op 81 B/op 1 allocs/op |
67 | 67 | PASS |
68 | 68 | ok github.com/lxzan/gws 17.231s |
69 | 69 | ``` |
@@ -102,7 +102,7 @@ ok github.com/lxzan/gws 17.231s |
102 | 102 | - [x] **Context‑takeover (permessage‑deflate)** with configurable sliding window sizes. |
103 | 103 | - [x] **Segmented writing of large files** with `WriteFile` to reduce peak memory during large transfers. |
104 | 104 | - [x] **Concurrent & asynchronous non‑blocking write** with built‑in task queues and `Writev` / `WritevAsync`. |
105 | | -- [x] **Strong standards compatibility**, passing all Autobahn test cases |
| 105 | +- [x] **Strong standards compatibility**, passing all Autobahn test cases |
106 | 106 | [Server report](https://lxzan.github.io/gws/reports/servers/) / [Client report](https://lxzan.github.io/gws/reports/clients/) |
107 | 107 |
|
108 | 108 | ### Attention |
@@ -379,7 +379,7 @@ docker run -it --rm \ |
379 | 379 |
|
380 | 380 | ### Ecosystem |
381 | 381 |
|
382 | | -- [proxy-connect-dialer-go](https://github.com/michel-laterman/proxy-connect-dialer-go) - Custom dialer that sends headers to the proxy server during CONNECT requests. |
| 382 | +- [proxy-connect-dialer-go](https://github.com/elastic/proxy-connect-dialer-go) - Custom dialer that sends headers to the proxy server during CONNECT requests. |
383 | 383 |
|
384 | 384 | ### Communication |
385 | 385 |
|
|
0 commit comments