using System; using System.Collections.Generic; using System.Linq; using System.Text; using SuperSocket.SocketBase; using SuperSocket.SocketBase.Config; using System.Net.Sockets; using System.Net; namespace SuperSocket.SocketEngine { delegate void ErrorHandler(ISocketListener listener, Exception e); delegate void NewClientAcceptHandler(ISocketListener listener, Socket client, object state); /// /// The interface for socket listener /// interface ISocketListener { /// /// Gets the info of listener /// ListenerInfo Info { get; } /// /// Gets the end point the listener is working on /// IPEndPoint EndPoint { get; } /// /// Starts to listen /// /// The server config. /// bool Start(IServerConfig config); /// /// Stops listening /// void Stop(); /// /// Occurs when new client accepted. /// event NewClientAcceptHandler NewClientAccepted; /// /// Occurs when error got. /// event ErrorHandler Error; /// /// Occurs when [stopped]. /// event EventHandler Stopped; } }