C#写一个WebService服务器

首先在NuGet中下载Fleck动态库

创建一个WebSocketHelper类

public class WebSocketHelper
{
   
    //客户端url以及其对应的Socket对象字典
    IDictionary<string, IWebSocketConnection> dic_Sockets = new Dictionary<string, IWebSocketConnection>();
    //创建一个 websocket ,0.0.0.0 为监听所有的的地址
    WebSocketServer server = new WebSocketServer("ws://127.0.0.1:50000");

    //打开连接委托
    public delegate void _OnOpen(string ip);
    public event _OnOpen OnOpen;
    //关闭连接委托
    public delegate void _OnClose(string ip);
    public event _OnClose OnClose;
    //当收到消息
    public delegate void _OnMessage(string ip, string msg);
    public event _OnMessage OnMessage;

    /// 
    /// 初始化
    /// 
    private void Init()
    {
   
        //出错后进行重启
        server.RestartAfterListenError = true;

        //开始监听
        server.Start(socket =>
        {
   
            //连接建立事件
            socket.OnOpen = () =>
            {
   
                //获取客户端网页的url
                string clientUrl = socket.ConnectionInfo.ClientIpAddress + ":" + socket.ConnectionInfo.ClientPort;
                dic_Sockets.Add(clientUrl, socket);
           

你可能感兴趣的:(C#,c#)