Beispiel #1
0
        static int __CreateInstance(RealStatePtr L)
        {
            try {
                ObjectTranslator translator = ObjectTranslatorPool.Instance.Find(L);
                if (LuaAPI.lua_gettop(L) == 3 && translator.Assignable <System.Net.WebSockets.HttpListenerWebSocketContext>(L, 2) && translator.Assignable <DCET.Model.AService>(L, 3))
                {
                    System.Net.WebSockets.HttpListenerWebSocketContext _webSocketContext = (System.Net.WebSockets.HttpListenerWebSocketContext)translator.GetObject(L, 2, typeof(System.Net.WebSockets.HttpListenerWebSocketContext));
                    DCET.Model.AService _service = (DCET.Model.AService)translator.GetObject(L, 3, typeof(DCET.Model.AService));

                    DCET.Model.WChannel gen_ret = new DCET.Model.WChannel(_webSocketContext, _service);
                    translator.Push(L, gen_ret);

                    return(1);
                }
                if (LuaAPI.lua_gettop(L) == 3 && translator.Assignable <System.Net.WebSockets.WebSocket>(L, 2) && translator.Assignable <DCET.Model.AService>(L, 3))
                {
                    System.Net.WebSockets.WebSocket _webSocket = (System.Net.WebSockets.WebSocket)translator.GetObject(L, 2, typeof(System.Net.WebSockets.WebSocket));
                    DCET.Model.AService             _service   = (DCET.Model.AService)translator.GetObject(L, 3, typeof(DCET.Model.AService));

                    DCET.Model.WChannel gen_ret = new DCET.Model.WChannel(_webSocket, _service);
                    translator.Push(L, gen_ret);

                    return(1);
                }
            }
            catch (System.Exception gen_e) {
                return(LuaAPI.luaL_error(L, "c# exception:" + gen_e));
            }
            return(LuaAPI.luaL_error(L, "invalid arguments to DCET.Model.WChannel constructor!"));
        }
Beispiel #2
0
        private async void _Accept(HttpListenerContext context)
        {
            System.Net.WebSockets.HttpListenerWebSocketContext webSocketContext = await context.AcceptWebSocketAsync(null);

            System.Net.WebSockets.WebSocket webSocket = webSocketContext.WebSocket;
            TimeCounter timeCounter = new TimeCounter();

            while (webSocket.State != System.Net.WebSockets.WebSocketState.Open)
            {
                if (timeCounter.Ticks > 60)
                {
                    return;
                }
            }

            _AcceptEvent(new Peer(webSocket));
        }
Beispiel #3
0
        private async void _Accept(HttpListenerContext context)
        {
            System.Net.WebSockets.HttpListenerWebSocketContext webSocketContext = await context.AcceptWebSocketAsync(null);

            var webSocket = webSocketContext.WebSocket;


            var status = await Task <System.Net.WebSockets.WebSocketState> .Factory.StartNew(() =>
            {
                while (webSocket.State == System.Net.WebSockets.WebSocketState.Connecting)
                {
                    System.Threading.Thread.Sleep(1);
                }
                return(webSocket.State);
            });

            if (status == System.Net.WebSockets.WebSocketState.Open)
            {
                _AcceptEvent(new Peer(webSocket));
            }
        }
Beispiel #4
0
 /// <summary>
 /// Initializes a new instance of the <see cref="WebSocketContext"/> class.
 /// </summary>
 /// <param name="webSocketContext">The web socket context.</param>
 public WebSocketContext(System.Net.WebSockets.HttpListenerWebSocketContext webSocketContext)
 {
     _webSocketContext = webSocketContext;
     WebSocket         = new WebSocket(_webSocketContext.WebSocket);
     CookieCollection  = new CookieCollection(_webSocketContext.CookieCollection);
 }
Beispiel #5
0
 public HttpListenerWebSocketContext(System.Net.WebSockets.HttpListenerWebSocketContext context)
 {
     mContext = context;
 }