Esempio n. 1
0
        /// <summary>
        /// Create the socket from existing connected socket.
        /// </summary>
        /// <param name="socket">TCP client to wrap.</param>
        /// <param name="eventsListener">Object to handle socket events.</param>
        public EzSocket(TcpClient socket, IEzEventsListener eventsListener)
        {
            // store events listener
            _eventsListener = eventsListener;

            try
            {
                // init socket
                SocketId = Interlocked.Increment(ref _nextSocketId);
                Client   = socket;
                Stream   = Client.GetStream();
            }
            catch (Exception e)
            {
                HandleException(e);
            }

            // invoke event
            _eventsListener.OnNewConnection(this);
        }
Esempio n. 2
0
        /// <summary>
        /// Connect to given IP and port.
        /// </summary>
        /// <param name="ip">IP to connect to or null to use localhost.</param>
        /// <param name="port">Port to connect to.</param>
        /// <param name="eventsListener">Object to handle socket events.</param>
        public EzSocket(string ip, int port, IEzEventsListener eventsListener)
        {
            // store events listener
            _eventsListener = eventsListener;

            try
            {
                // get session id
                SocketId = Interlocked.Increment(ref _nextSocketId);

                // create socket and connect
                Client = new TcpClient();
                Client.Connect(ip ?? DefaultDestIp, port);
                Stream = Client.GetStream();
            }
            catch (Exception e)
            {
                HandleException(e);
            }

            // invoke event
            _eventsListener.OnNewConnection(this);
        }
Esempio n. 3
0
 /// <summary>
 /// Create the sockets listener.
 /// </summary>
 /// <param name="eventsListener">Object to handle socket events.</param>
 public EzSocketListener(IEzEventsListener eventsListener)
 {
     EventsListener = eventsListener;
 }