Beispiel #1
0
        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);
        }
Beispiel #2
0
 public void Dispose()
 {
     DnmpClient?.Dispose();
     WebSocketServer?.Dispose();
     TapMessageInterface?.Dispose();
 }
Beispiel #3
0
 public void Disconnect()
 {
     DnmpClient.Stop();
     TapMessageInterface.Stop();
     CurrentNetworkId = Guid.Empty;
 }