C# WebSocket 通信-笔记

服务端

1.导入NuGet程序包---“Fleck”。

2.日志消息等级定义:

        例如: FleckLog.Level = Fleck.LogLevel.Debug; //调试日志

3.定义客户端集合:

         var sockets = new List();

        //这个List里面是所有连接的客户端,有唯一区分的GUID字段:Id

        单个客户端字段如下:

        C# WebSocket 通信-笔记_第1张图片

 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));
                };
            });

        其他可实现方法:

                C# WebSocket 通信-笔记_第2张图片

 

客户端实现

        js:

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

        

你可能感兴趣的:(websocket,网络协议,c#)