websocket|C# WebSocket 通信-笔记

服务端 1.导入NuGet程序包---“Fleck”。
2.日志消息等级定义:
例如: FleckLog.Level = Fleck.LogLevel.Debug; //调试日志
【websocket|C# WebSocket 通信-笔记】3.定义客户端集合:
var sockets = new List();
//这个List里面是所有连接的客户端,有唯一区分的GUID字段:Id
单个客户端字段如下:
websocket|C# WebSocket 通信-笔记
文章图片

4.设置监听IP端口即端口:
var server = new WebSocketServer("ws://127.0.0.1:54321");
5.服务启动及事件实现:
server.Start(socket =>
{
//客户端加入
socket.OnOpen = () =>
{
sockets.Add(socket);
sockets.ToList().ForEach(s => s.Send("加入"));
};
//客户端退出
socket.OnClose = () =>
{
sockets.Remove(socket);
sockets.ToList().ForEach(s => s.Send("退出"));
};
//客户端发送消息
socket.OnMessage = message =>
{
sockets.ToList().ForEach(s => s.Send("群发: " + message));
};
});
其他可实现方法:
websocket|C# WebSocket 通信-笔记
文章图片


客户端实现 js:
var ws = new WebSocket("ws://127.0.0.1:54321");
ws.onopen = function() {
ws.send('连接测试');
};
ws.onmessage = function(e) {
alert("收到服务端的消息:" + e.data);
};

    推荐阅读