| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354 | 
							- using Fleck;
 
- using MediaBrowser.Common.Net;
 
- using System;
 
- using IWebSocketServer = MediaBrowser.Common.Net.IWebSocketServer;
 
- namespace MediaBrowser.Server.Implementations.WebSocket
 
- {
 
-     public class FleckServer : IWebSocketServer
 
-     {
 
-         private WebSocketServer _server;
 
-         public void Start(int portNumber)
 
-         {
 
-             var server = new WebSocketServer("ws://localhost:" + portNumber);
 
-             server.Start(socket =>
 
-             {
 
-                 socket.OnOpen = () => OnClientConnected(socket);
 
-             });
 
-             _server = server;
 
-         }
 
-         public void Stop()
 
-         {
 
-             _server.Dispose();
 
-         }
 
-         private void OnClientConnected(Fleck.IWebSocketConnection context)
 
-         {
 
-             if (WebSocketConnected != null)
 
-             {
 
-                 var socket = new FleckWebSocket(context);
 
-                 WebSocketConnected(this, new WebSocketConnectEventArgs
 
-                 {
 
-                     WebSocket = socket,
 
-                     Endpoint = context.ConnectionInfo.ClientIpAddress + ":" + context.ConnectionInfo.ClientPort
 
-                 });
 
-             }
 
-         }
 
-         public event EventHandler<WebSocketConnectEventArgs> WebSocketConnected;
 
-         public int Port
 
-         {
 
-             get { return _server.Port; }
 
-         }
 
-         public void Dispose()
 
-         {
 
-             _server.Dispose();
 
-         }
 
-     }
 
- }
 
 
  |