static public void Main()
        {
            //Initialize pubnub state
            pubnub objPubnub = new pubnub(
                "demo",  // PUBLISH_KEY
                "demo",  // SUBSCRIBE_KEY
                "demo",  // SECRET_KEY
                "",      // CIPHER_KEY (Cipher key is Optional)
                false    // SSL_ON?
                );
            //channel name
            string channel = "hello-world";

            pubnub.Procedure Receiver = delegate(object message)
            {
                Console.WriteLine("Message - " + message);

                Dictionary <string, object> arg = new Dictionary <string, object>();
                arg.Add("channel", channel);
                //Unsubscribe messages
                objPubnub.Unsubscribe(arg);
                return(true);
            };
            pubnub.Procedure ConnectCallback = delegate(object message)
            {
                Console.WriteLine(message);

                // Publish String Message
                Dictionary <string, object> publish = new Dictionary <string, object>();
                publish.Add("channel", channel);
                publish.Add("message", "Hello World!!!!");

                // publish Response
                objPubnub.Publish(publish);
                return(true);
            };
            pubnub.Procedure DisconnectCallback = delegate(object message)
            {
                Console.WriteLine(message);
                return(true);
            };
            pubnub.Procedure ReconnectCallback = delegate(object message)
            {
                Console.WriteLine(message);
                return(true);
            };
            pubnub.Procedure ErrorCallback = delegate(object message)
            {
                Console.WriteLine(message);
                return(true);
            };

            Dictionary <string, object> args = new Dictionary <string, object>();

            args.Add("channel", channel);
            args.Add("callback", Receiver);                 // callback to get response
            args.Add("connect_cb", ConnectCallback);        // callback to get connect event
            args.Add("disconnect_cb", DisconnectCallback);  // callback to get disconnect event
            args.Add("reconnect_cb", ReconnectCallback);    // callback to get reconnect event
            args.Add("error_cb", ErrorCallback);            // callback to get error event

            //Subscribe messages
            objPubnub.Subscribe(args);
            Console.ReadKey();
        }
Exemplo n.º 2
0
        public static void run(object _channel)
        {
            //Subscribe messages
            pubnub.Procedure Receiver = delegate(object message)
            {
                int sent     = Convert.ToInt32(status["sent"]);
                int received = Convert.ToInt32(status["received"]);
                test(received <= sent, "many sends");
                status.Remove("received");
                status.Add("received", received + 1);
                Dictionary <String, Object> args = new Dictionary <String, Object>(1);
                args.Add("channel", _channel);
                _pubnub.Unsubscribe(args);

                Dictionary <String, string> argsHistory = new Dictionary <String, string>(2);
                argsHistory.Add("channel", _channel.ToString());
                argsHistory.Add("limit", "2");

                List <object> response = _pubnub.History(argsHistory);
                test(response != null && response.Count > 0, "history");
                if (Convert.ToInt32(status["received"]) == many_channels.Count)
                {
                    runthroughs += 1;
                    if (runthroughs < planned_tests)
                    {
                        UnitTestAll(_pubnub);
                    }
                }
                return(true);
            };

            pubnub.Procedure ConnectCallback = delegate(object message)
            {
                Console.WriteLine(message);
                int connections = Convert.ToInt32(status["connections"]);
                status.Remove("connections");
                status.Add("connections", connections + 1);
                publishAndSetStatus(_channel.ToString(), Message);
                return(true);
            };
            pubnub.Procedure DisconnectCallback = delegate(object message)
            {
                Console.WriteLine(message);
                return(true);
            };
            pubnub.Procedure ReconnectCallback = delegate(object message)
            {
                Console.WriteLine(message);
                return(true);
            };
            pubnub.Procedure ErrorCallback = delegate(object message)
            {
                Console.WriteLine(message);
                return(true);
            };
            Dictionary <String, Object> argsSub = new Dictionary <String, Object>(6);

            argsSub.Add("channel", _channel.ToString());
            argsSub.Add("callback", Receiver);                // callback to get response
            argsSub.Add("connect_cb", ConnectCallback);       // callback to get connect event
            argsSub.Add("disconnect_cb", DisconnectCallback); // callback to get disconnect event
            argsSub.Add("reconnect_cb", ReconnectCallback);   // callback to get reconnect event
            argsSub.Add("error_cb", ErrorCallback);           // callback to get error event

            // Listen for Messages (Subscribe)
            _pubnub.Subscribe(argsSub);
        }