public MainClient(string configFile, IDependent dependent) { ConfigFile = configFile; Config = new MainConfig(); if (File.Exists(ConfigFile)) { Config = JsonConvert.DeserializeObject <MainConfig>(File.ReadAllText(ConfigFile)); } File.WriteAllText(ConfigFile, JsonConvert.SerializeObject(Config)); selfNodeData.DomainName = Config.TapConfig.SelfName; NetworkManager = new NetworkManager(Config.NetworksSaveConfig); TapMessageInterface = new TapMessageInterface(Config.TapConfig, dependent.GetTapInerface()); DnmpClient = new DnmpClient(TapMessageInterface, new OsUdpProtocol(Config.GeneralConfig.ReceiveBufferSize, Config.GeneralConfig.SendBufferSize), Config.ClientConfig); DnmpClient.OnDisconnected += () => CurrentNetworkId = Guid.Empty; DnmpClient.OnConnectionTimeout += () => CurrentNetworkId = Guid.Empty; WebSocketServer = new ClientWebSocketServer(this); HttpServer = new ClientHttpServer(this); }
public void Dispose() { DnmpClient?.Dispose(); WebSocketServer?.Dispose(); TapMessageInterface?.Dispose(); }
public void Disconnect() { DnmpClient.Stop(); TapMessageInterface.Stop(); CurrentNetworkId = Guid.Empty; }