Esempio n. 1
0
        public void TestSpectator()
        {
            TestCallback callback = new TestCallback();

            // Get WCF endpoint
            EndpointAddress endpointAddress = new EndpointAddress("net.tcp://localhost:8765/TetriNETSpectator");

            Binding         binding         = new NetTcpBinding(SecurityMode.None);
            InstanceContext instanceContext = new InstanceContext(callback);
            //_proxy = DuplexChannelFactory<IWCFTetriNET>.CreateChannel(instanceContext, binding, endpointAddress);
            DuplexChannelFactory <IWCFTetriNETSpectator> factory = new DuplexChannelFactory <IWCFTetriNETSpectator>(instanceContext, binding, endpointAddress);
            IWCFTetriNETSpectator proxy = factory.CreateChannel(instanceContext);

            proxy.RegisterSpectator(
                new Versioning
            {
                Major = 1,
                Minor = 5,
            },
                "joel");

            while (true)
            {
                System.Threading.Thread.Sleep(10);
            }
        }
Esempio n. 2
0
        public WCFSpectatorProxy(ITetriNETCallback callback, string address)
        {
            if (callback == null)
            {
                throw new ArgumentNullException(nameof(callback));
            }
            if (address == null)
            {
                throw new ArgumentNullException(nameof(address));
            }

            LastActionToServer = DateTime.Now;

            EndpointAddress endpointAddress = new EndpointAddress(address);

            // Create WCF proxy from endpoint
            Log.Default.WriteLine(LogLevels.Debug, "Connecting to server:{0}", endpointAddress.Uri);
            Binding         binding         = new NetTcpBinding(SecurityMode.None);
            InstanceContext instanceContext = new InstanceContext(callback);

            _factory = new DuplexChannelFactory <IWCFTetriNETSpectator>(instanceContext, binding, endpointAddress);
            _proxy   = _factory.CreateChannel(instanceContext);
        }