-
Notifications
You must be signed in to change notification settings - Fork 285
/
PubnubTest.xaml.cs
130 lines (115 loc) · 4.57 KB
/
PubnubTest.xaml.cs
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
using System;
using System.Collections.Generic;
using System.Linq;
using System.Net;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Documents;
using System.Windows.Input;
using System.Windows.Media;
using System.Windows.Media.Animation;
using System.Windows.Shapes;
using Microsoft.Phone.Controls;
using Newtonsoft.Json.Linq;
namespace CSharp_WP7
{
public partial class PubnubTest : PhoneApplicationPage
{
//Channel name
string channel = "hello_world";
// Initialize pubnub state
Pubnub pubnub = new Pubnub(
"demo", // PUBLISH_KEY
"demo", // SUBSCRIBE_KEY
"demo", // SECRET_KEY
"", // CIPHER_KEY (Cipher key is Optional)
false // SSL_ON?
);
public PubnubTest()
{
InitializeComponent();
}
private void btnPublish_Click(object sender, RoutedEventArgs e)
{
Pubnub.ResponseCallback respCallback = delegate(object response)
{
List<object> result = (List<object>)response;
if (result != null && result.Count() > 0)
{
System.Diagnostics.Debug.WriteLine("[" + result[0].ToString() + "," + result[1].ToString() + "," + result[2].ToString() + "]");
}
};
// Publish string message
Dictionary<string, object> strArgs = new Dictionary<string, object>();
string message = "Hello Windows Phone 7";
strArgs.Add("channel", channel);
strArgs.Add("message", message);
strArgs.Add("callback", respCallback);
pubnub.Publish(strArgs);
// Publish message in array format
Dictionary<string, object> arrArgs = new Dictionary<string, object>();
JArray jarr = new JArray();
jarr.Add("Sunday");
jarr.Add("Monday");
jarr.Add("Tuesday");
jarr.Add("Wednesday");
jarr.Add("Thursday");
jarr.Add("Friday");
jarr.Add("Saturday");
arrArgs.Add("channel", channel);
arrArgs.Add("message", jarr);
arrArgs.Add("callback", respCallback);
pubnub.Publish(arrArgs);
// Publish message in Dictionary format
Dictionary<string, object> objArgs = new Dictionary<string, object>();
JObject obj = new JObject();
obj.Add("Name", "Jhon");
obj.Add("age", "25");
objArgs.Add("channel", channel);
objArgs.Add("message", obj);
objArgs.Add("callback", respCallback);
pubnub.Publish(objArgs);
}
private void btnSubscribe_Click(object sender, RoutedEventArgs e)
{
System.Diagnostics.Debug.WriteLine("Subscribed to channel " + channel);
//Subscribe messages
Dictionary<string, object> args = new Dictionary<string, object>();
args.Add("channel", channel);
args.Add("callback", new Receiver());
pubnub.Subscribe(args);
}
private void btnHistory_Click(object sender, RoutedEventArgs e)
{
Pubnub.ResponseCallback respCallback = delegate(object response)
{
List<object> result = (List<object>)response;
if (result != null && result.Count() > 0)
{
for (int i = 0; i < result.Count(); i++)
{
System.Diagnostics.Debug.WriteLine(result[i]);
}
}
};
Dictionary<string, object> args = new Dictionary<string, object>();
args.Add("channel", channel);
args.Add("limit", 3.ToString());
args.Add("callback", respCallback);
pubnub.History(args);
}
private void btnTime_Click(object sender, RoutedEventArgs e)
{
Pubnub.ResponseCallback respCallback = delegate(object response)
{
List<object> result = (List<object>)response;
System.Diagnostics.Debug.WriteLine("Server Time : " + result[0]);
};
pubnub.Time(respCallback);
}
private void btnUUID_Click(object sender, RoutedEventArgs e)
{
System.Diagnostics.Debug.WriteLine("UUID - > " + pubnub.UUID());
}
}
}