/// <summary> /// Create a Pusher Client, and subscribes a user /// </summary> /// <param name="pusherServer">Server to connect to</param> /// <param name="reset">The AutoReset to control the subscription by the client</param> /// <param name="channelName">The name of the channel to subscribe to</param> /// <returns>A subscribed client</returns> public static PusherClient.Pusher CreateClient(Pusher pusherServer, AutoResetEvent reset, string channelName) { PusherClient.Pusher pusherClient = new PusherClient.Pusher(Config.AppKey, new PusherClient.PusherOptions() { Authorizer = new InMemoryAuthorizer( pusherServer, new PresenceChannelData() { user_id = "Mr Pusher", user_info = new { twitter_id = "@pusher" } }) }); pusherClient.Connected += delegate { reset.Set(); }; pusherClient.Connect(); reset.WaitOne(TimeSpan.FromSeconds(5)); var channel = pusherClient.Subscribe(channelName); channel.Subscribed += delegate { reset.Set(); }; reset.WaitOne(TimeSpan.FromSeconds(5)); return pusherClient; }
/// <summary> /// Create a Pusher Client, and subscribes a user /// </summary> /// <param name="pusherServer">Server to connect to</param> /// <param name="reset">The AutoReset to control the subscription by the client</param> /// <param name="channelName">The name of the channel to subscribe to</param> /// <returns>A subscribed client</returns> public static PusherClient.Pusher CreateClient(Pusher pusherServer, AutoResetEvent reset, string channelName) { PusherClient.Pusher pusherClient = new PusherClient.Pusher(Config.AppKey, new PusherClient.PusherOptions() { Authorizer = new InMemoryAuthorizer( pusherServer, new PresenceChannelData() { user_id = "Mr Pusher", user_info = new { twitter_id = "@pusher" } }) }) { Host = Config.WebSocketHost, }; pusherClient.Connected += delegate { reset.Set(); }; pusherClient.Connect(); reset.WaitOne(TimeSpan.FromSeconds(5)); var channel = pusherClient.Subscribe(channelName); channel.Subscribed += delegate { reset.Set(); }; reset.WaitOne(TimeSpan.FromSeconds(5)); return(pusherClient); }
public async Task It_should_be_received_by_a_client_async() { string channelName = "my_channel"; string eventName = "my_event"; bool eventReceived = false; AutoResetEvent reset = new AutoResetEvent(false); var client = new PusherClient.Pusher(Config.AppKey) { Host = Config.WebSocketHost, }; client.Connected += new PusherClient.ConnectedEventHandler(delegate(object sender) { Debug.WriteLine("connected"); reset.Set(); }); Debug.WriteLine("connecting"); client.Connect(); Debug.WriteLine("waiting to connect"); reset.WaitOne(TimeSpan.FromSeconds(5)); Debug.WriteLine("subscribing"); var channel = client.Subscribe(channelName); channel.Subscribed += new PusherClient.SubscriptionEventHandler(delegate(object s) { Debug.WriteLine("subscribed"); reset.Set(); }); Debug.WriteLine("waiting for Subscribed"); reset.WaitOne(TimeSpan.FromSeconds(5)); Debug.WriteLine("binding"); channel.Bind(eventName, delegate(dynamic data) { Debug.WriteLine("event received"); eventReceived = true; reset.Set(); }); Debug.WriteLine("Bound. Triggering"); await _pusher.TriggerAsync(channelName, eventName, new { hello = "world" }); Debug.WriteLine("waiting for event to be received"); reset.WaitOne(TimeSpan.FromSeconds(10)); Assert.IsTrue(eventReceived); }
public void the_authentication_token_for_a_presence_channel_should_be_accepted_by_Pusher() { PusherServer.Pusher pusherServer = new Pusher(Config.AppId, Config.AppKey, Config.AppSecret, new PusherOptions() { HostName = Config.HttpHost }); PusherClient.Pusher pusherClient = new PusherClient.Pusher(Config.AppKey, new PusherClient.PusherOptions() { Authorizer = new InMemoryAuthorizer( pusherServer, new PresenceChannelData() { user_id = "leggetter", user_info = new { twitter_id = "@leggetter" } }) }); pusherClient.Host = Config.WebSocketHost; string channelName = "presence-channel"; bool subscribed = false; AutoResetEvent reset = new AutoResetEvent(false); pusherClient.Connected += new PusherClient.ConnectedEventHandler(delegate(object sender) { Debug.WriteLine("connected"); reset.Set(); }); Debug.WriteLine("connecting"); pusherClient.Connect(); Debug.WriteLine("waiting to connect"); reset.WaitOne(TimeSpan.FromSeconds(5)); Debug.WriteLine("subscribing"); var channel = pusherClient.Subscribe(channelName); channel.Subscribed += new PusherClient.SubscriptionEventHandler(delegate(object s) { Debug.WriteLine("subscribed"); subscribed = true; reset.Set(); }); Debug.WriteLine("waiting to subscribe"); reset.WaitOne(TimeSpan.FromSeconds(5)); Assert.IsTrue(subscribed); }
public void the_authentication_token_for_a_presence_channel_should_be_accepted_by_Pusher() { PusherServer.Pusher pusherServer = new Pusher(Config.AppId, Config.AppKey, Config.AppSecret, new PusherOptions() { HostName = Config.HttpHost }); PusherClient.Pusher pusherClient = new PusherClient.Pusher(Config.AppKey, new PusherClient.PusherOptions() { Authorizer = new InMemoryAuthorizer( pusherServer, new PresenceChannelData() { user_id = "leggetter", user_info = new { twitter_id = "@leggetter" } }) }); pusherClient.Host = Config.WebSocketHost; string channelName = "presence-channel"; bool subscribed = false; AutoResetEvent reset = new AutoResetEvent(false); pusherClient.Connected += new PusherClient.ConnectedEventHandler(delegate(object sender) { Debug.WriteLine("connected"); reset.Set(); }); Debug.WriteLine("connecting"); pusherClient.Connect(); Debug.WriteLine("waiting to connect"); reset.WaitOne(TimeSpan.FromSeconds(10)); Debug.WriteLine("subscribing"); var channel = pusherClient.Subscribe(channelName); channel.Subscribed += new PusherClient.SubscriptionEventHandler(delegate(object s) { Debug.WriteLine("subscribed"); subscribed = true; reset.Set(); }); Debug.WriteLine("waiting to subscribe"); reset.WaitOne(TimeSpan.FromSeconds(5)); Assert.IsTrue(subscribed); }
public void It_should_be_received_by_a_client() { string channelName = "my_channel"; string eventName = "my_event"; bool eventReceived = false; AutoResetEvent reset = new AutoResetEvent(false); var client = new PusherClient.Pusher(Config.AppKey); client.Connected += new PusherClient.ConnectedEventHandler(delegate(object sender) { Debug.WriteLine("connected"); reset.Set(); }); Debug.WriteLine("connecting"); client.Connect(); Debug.WriteLine("waiting to connect"); reset.WaitOne(TimeSpan.FromSeconds(5)); Debug.WriteLine("subscribing"); var channel = client.Subscribe(channelName); channel.Subscribed += new PusherClient.SubscriptionEventHandler(delegate(object s) { Debug.WriteLine("subscribed"); reset.Set(); }); Debug.WriteLine("binding"); channel.Bind(eventName, delegate(dynamic data) { Debug.WriteLine("event received"); eventReceived = true; reset.Set(); }); Debug.WriteLine("waiting to subscribe"); reset.WaitOne(TimeSpan.FromSeconds(5)); Debug.WriteLine("triggering"); IPusher pusher = new Pusher(Config.AppId, Config.AppKey, Config.AppSecret); ITriggerResult result = pusher.Trigger(channelName, eventName, new { hello = "world" }); Debug.WriteLine("waiting for event to be received"); reset.WaitOne(TimeSpan.FromSeconds(5)); Assert.IsTrue(eventReceived); }
public async void It_should_be_received_by_a_client_async() { string channelName = "my_channel"; string eventName = "my_event"; bool eventReceived = false; AutoResetEvent reset = new AutoResetEvent(false); var client = new PusherClient.Pusher(Config.AppKey); client.Host = Config.WebSocketHost; client.Connected += new PusherClient.ConnectedEventHandler(delegate(object sender) { Debug.WriteLine("connected"); reset.Set(); }); Debug.WriteLine("connecting"); client.Connect(); Debug.WriteLine("waiting to connect"); reset.WaitOne(TimeSpan.FromSeconds(5)); Debug.WriteLine("subscribing"); var channel = client.Subscribe(channelName); channel.Subscribed += new PusherClient.SubscriptionEventHandler(delegate(object s) { Debug.WriteLine("subscribed"); reset.Set(); }); Debug.WriteLine("waiting for Subscribed"); reset.WaitOne(TimeSpan.FromSeconds(5)); Debug.WriteLine("binding"); channel.Bind(eventName, delegate(dynamic data) { Debug.WriteLine("event received"); eventReceived = true; reset.Set(); }); Debug.WriteLine("Bound. Triggering"); await _pusher.TriggerAsync(channelName, eventName, new {hello = "world"}); Debug.WriteLine("waiting for event to be received"); reset.WaitOne(TimeSpan.FromSeconds(10)); Assert.IsTrue(eventReceived); }
public void the_authentication_token_for_a_private_channel_should_be_accepted_by_Pusher() { PusherServer.Pusher pusherServer = new Pusher(Config.AppId, Config.AppKey, Config.AppSecret); PusherClient.Pusher pusherClient = new PusherClient.Pusher(Config.AppKey, new PusherClient.PusherOptions() { Authorizer = new InMemoryAuthorizer(pusherServer) }); string channelName = "private-channel"; bool subscribed = false; AutoResetEvent reset = new AutoResetEvent(false); pusherClient.Connected += new PusherClient.ConnectedEventHandler(delegate(object sender) { Debug.WriteLine("connected"); reset.Set(); }); Debug.WriteLine("connecting"); pusherClient.Connect(); Debug.WriteLine("waiting to connect"); reset.WaitOne(TimeSpan.FromSeconds(5)); Debug.WriteLine("subscribing"); var channel = pusherClient.Subscribe(channelName); channel.Subscribed += new PusherClient.SubscriptionEventHandler(delegate(object s) { Debug.WriteLine("subscribed"); subscribed = true; reset.Set(); }); Debug.WriteLine("waiting to subscribe"); reset.WaitOne(TimeSpan.FromSeconds(5)); Assert.IsTrue(subscribed); }
public static async Task PusherPublish(string channelStr) { var options = new PusherOptions { Cluster = "us3", Encrypted = true }; var clientOptions = new PusherClient.PusherOptions { Cluster = "us3", Encrypted = true }; _pusher = new Pusher(_appId, _key, _secret, options); _client = new PusherClient.Pusher(_appId, clientOptions); var channel = _client.SubscribeAsync(channelStr).Result; channel.Bind("Notification", (dynamic data) => { Console.WriteLine(data.message); }); var result = await _pusher.TriggerAsync(channelStr, "Notification", new { message = "Test" }); }