/// <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); }
/// <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); }
/// <summary> /// Create the sockets listener. /// </summary> /// <param name="eventsListener">Object to handle socket events.</param> public EzSocketListener(IEzEventsListener eventsListener) { EventsListener = eventsListener; }