public TSocket(TPoller poller) { this.poller = poller; this.socket = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp); this.innArgs.Completed += this.OnComplete; this.outArgs.Completed += this.OnComplete; }
public TSocket(TPoller poller, string host, int port) : this(poller) { try { this.Bind(host, port); this.Listen(100); } catch (Exception e) { throw new Exception($"socket bind error: {host} {port}", e); } }
public override void Dispose() { if (this.poller == null) { return; } foreach (long id in this.idChannels.Keys.ToArray()) { TChannel channel = this.idChannels[id]; channel.Dispose(); } this.acceptor?.Dispose(); this.poller = null; }