public bool Stop(HttpServiceBase srv) { if (_services.Contains(srv)) return false; _portSrv.Remove(srv.ListenPort); _portTl[srv.ListenPort].Stop(); _portTl.Remove(srv.ListenPort); _services.Remove(srv); return true; }
public void Start(HttpServiceBase srv) { if (_portSrv.ContainsKey(srv.ListenPort)) throw new ArgumentException("引数srvが使用するPortは既に使用されています。"); var tl = new TcpListener(srv.Address, srv.ListenPort); _services.Add(srv); _portSrv.Add(srv.ListenPort, srv); _portTl.Add(srv.ListenPort, tl); tl.Start(); tl.BeginAcceptTcpClient(new AsyncCallback(Callback_BeginAcceptTcpClient), srv.ListenPort); }