NOVINKA - Online rekvalifikační kurz Python programátor. Oblíbená a studenty ověřená rekvalifikace - nyní i online.
Hledáme nové posily do ITnetwork týmu. Podívej se na volné pozice a přidej se do nejagilnější firmy na trhu - Více informací.

Diskuze: Singleton s TCP clientem

V předchozím kvízu, Test znalostí C# .NET online, jsme si ověřili nabyté zkušenosti z kurzu.

Jak se ti líbí článek?
Před uložením hodnocení, popiš prosím autorovi, co je špatněZnaků 0 z 50-500
Jak se ti kurz líbí?
Tvé hodnocení kurzuZnaků 0 z 50-500
Aktivity
Avatar
Ladislav Niderle:15.12.2015 9:14

Ahoj, mohl by mi někdo poradit práci se Singletonem? Už s ním nějak pracuji i s TCP klientem, ale mám problém ten, že bez vypnutí aplikace se chci odpojit od serveru a znovu se připojit, ale v tu chvíli, kdy se dostanu k přihlášení, tak mi vypíše, že objekt je uvolněn e mohu k němu přistoupit pouze asynchroně. Nevíte někdo jak to udělat, aby se při určité příležitosti provedlo zase new na sigleton třídu? Děkuji

Zde je ten kód pro nastavení singletonu:

        private static SingletonTcpSpojeni instance = new SingletonTcpSpojeni();
        private static readonly object padlock = new object();

        private IPAddress ipAddress;
        private int port;
        private TcpClient tcp = new TcpClient();
        private NetworkStream network;
        private VerzeTransakce verzeTransakce;

        public IPAddress TcpIpAddress
        {
            get
            {
                return ipAddress;
            }
            set
            {
                ipAddress = value;
            }
        }

        public int Instanc
        {
            set
            {
                SingletonTcpSpojeni instance = new SingletonTcpSpojeni();
            }
        }

        public int TcpPort
        {
            get
            {
                return port;
            }
            set
            {

                port = value;
            }
        }

        public VerzeTransakce TypPrijmuTransakce
        {
            get
            {
                return verzeTransakce;
            }
            set
            {
                verzeTransakce = value;
            }
        }

        public static SingletonTcpSpojeni Instance
        {

            get
            {
                lock (padlock)
                {
                    if (instance == null)
                    {
                        instance = new SingletonTcpSpojeni();
                    }
                    return instance;
                }

            }
        }

static SingletonTcpSpojeni()
        {

        }

        private SingletonTcpSpojeni()
        {

        }

        public bool NavazatTcpSpojeni()
        {
            Thread.Sleep(100);
            tcp.Connect(TcpIpAddress, TcpPort);
            tcp.ReceiveTimeout = 30000;
            return (tcp.Connected == true ? true : false);
        }

public void ZruseniTcpSpojeni()
        {

            tcp.Client.Disconnect(false);
            network.Close();
        }
 
Odpovědět
15.12.2015 9:14
Děláme co je v našich silách, aby byly zdejší diskuze co nejkvalitnější. Proto do nich také mohou přispívat pouze registrovaní členové. Pro zapojení do diskuze se přihlas. Pokud ještě nemáš účet, zaregistruj se, je to zdarma.

Zobrazeno 1 zpráv z 1.