服务端 1.导入NuGet程序包---“Fleck”。
2.日志消息等级定义:
例如: FleckLog.Level = Fleck.LogLevel.Debug;
//调试日志
【websocket|C# WebSocket 通信-笔记】3.定义客户端集合:
var sockets = new List
//这个List里面是所有连接的客户端,有唯一区分的GUID字段:Id
单个客户端字段如下:
文章图片
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));
};
});
其他可实现方法:
文章图片
客户端实现 js:
var ws = new WebSocket("ws://127.0.0.1:54321");
ws.onopen = function() {
ws.send('连接测试');
};
ws.onmessage = function(e) {
alert("收到服务端的消息:" + e.data);
};
推荐阅读
- 网络|ARP防御篇-如何揪出“内鬼”并“优雅的还手”
- Core|ASP.NET Core开发-后台任务利器Hangfire使用
- 期末备考|C#、.NET实现的一个图书管理系统(大作业)
- Java|SpringBoot2(五)(数据访问)
- Unity总结|Unity实现玩家角色移动控制——CharacterController组件
- 网络|【计算机网络】数据链路层重点协议
- Linux基础|基于NoneBot2的qq机器人配置记录
- 微软相关|C#的架构、框架、设计模式
- C#通用框架|C#通用框架