WebSocket Service 是一个基于 Go 语言实现的高性能 WebSocket 服务器,旨在提供实时双向通信功能。该项目支持动态配置管理,使用 Apollo 配置中心来管理应用程序的配置。
- 实时通信:支持 WebSocket 协议,实现客户端与服务器之间的实时数据传输。
- 动态配置:集成 Apollo 配置中心,支持动态加载和更新配置。
- 高并发:使用 Go 的 goroutine 实现高并发处理能力,适合大规模用户访问。
- 易于扩展:模块化设计,方便后续功能扩展和维护。
- Go 1.16 或更高版本
- Apollo 配置中心
-
克隆项目到本地:
git clone https://github.com/bi7prk/websocket-service.git cd websocket-service -
安装依赖:
go mod tidy
-
配置 Apollo:
在
config目录下创建配置文件,确保 Apollo 的相关配置正确。 -
运行服务:
go run main.go
- 启动服务后,客户端可以通过 WebSocket 连接到服务器。
- 服务器会监听配置变化,并在配置更新时自动应用新的配置。
以下是一个简单的客户端示例,使用 JavaScript 连接到 WebSocket 服务器:
<textarea id="textarea" rows="10" cols="50"></textarea>
<button onclick="sendTestMessage()">Send Test Message</button>
<script>
const ws = new WebSocket("ws://localhost:8080/ws");
ws.onopen = () => console.log("Connected");
ws.onmessage = (e) => console.log("Received:", e.data);
ws.onclose = () => console.log("Disconnected");
// 发送测试消息
function sendTestMessage() {
var textarea = document.getElementById("textarea").value;
console.log("Sending:", textarea);
if (!textarea) {
textarea = "Hello World";
}
ws.send(textarea);
}
</script>