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(); }
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); }