SocketIO.Client.Namespace.On C# (CSharp) Method

On() public method

public On ( string eventName, Action callback ) : Namespace
eventName string
callback Action
return Namespace
      public Namespace On(string eventName, Action<object[], Action<string>> callback)
      {
         if (callback != null && eventName != null)
         {
            m_eventListenerLock.EnterWriteLock();

            if (m_eventListeners.ContainsKey(eventName))
            {
               m_eventListeners[eventName].Add(callback);
            }
            else
            {
               m_eventListeners[eventName] = new List<Action<object[], Action<string>>> { callback };
            }

            m_eventListenerLock.ExitWriteLock();

            if (m_socket.Connected && eventName == "connect")
            {
               callback(null, null);
            }
         }
         
         return this;
      }

Usage Example

        public void WhenTheClientConnects_ItShouldRaiseTheConnectedEvent()
        {
            bool connectRaised = false;

            socket.On("connect", (a, b) =>
            {
                connectRaised = true;
            });

            Assert.IsTrue(connectRaised);
        }