用.net平台實現websocket server


websocket測試地址 http://www.websocket-test.com/

 

using SuperWebSocket;
using System;
using System.Collections.Generic;

namespace WebsocketServer
{
    // NuGet SuperWebSocketNETServer
    class WebSocketServerHelper
    {
        List<WebSocketSession> sessionList = new List<WebSocketSession>();

        public void Start(int port)
        { 
            WebSocketServer webSocketServer = new WebSocketServer();
            webSocketServer.NewSessionConnected += WebSocketServer_NewSessionConnected; 
            webSocketServer.SessionClosed += WebSocketServer_SessionClosed;
            webSocketServer.NewMessageReceived += WebSocketServer_NewMessageReceived;
            if (!webSocketServer.Setup(port))
            {
                Console.WriteLine("設置服務監聽失敗!");
                return;
            }
            if (!webSocketServer.Start())
            {
                Console.WriteLine("啟動服務監聽失敗!");
                return;
            }
            else
            {
                Console.WriteLine("啟動服務監聽成功,port=" + port);
            }
        }

        void WebSocketServer_NewSessionConnected(WebSocketSession session)
        {
            sessionList.Add(session); 
            Console.WriteLine("ip: " + session.RemoteEndPoint.ToString() + "已經連接");
        }

        void WebSocketServer_SessionClosed(WebSocketSession session, SuperSocket.SocketBase.CloseReason value)
        {
            sessionList.Remove(session);
            Console.WriteLine("ip: " + session.RemoteEndPoint.ToString() + "斷開連接");
        }

        void WebSocketServer_NewMessageReceived(WebSocketSession session, string value)
        {
            Console.WriteLine(value);
            session.Send(value);
        } 
    }
}

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM