public void Start(TcpMapClientWorker worker, UdpClient udp, string localnat)
 {
     _udp      = udp;
     _worker   = worker;
     _localnat = localnat;
     UDPServerListener listener = new UDPServerListener(new UDPS(udp), delegate(Stream stream, IPEndPoint remote)
     {
         _lastconnect = remote;
         _            = HandleStreamAsync(stream, remote);
     });
 }
Esempio n. 2
0
        static TcpMapClientWorker AddStartClient(TcpMapClient client)
        {
            var conn = new TcpMapClientWorker()
            {
                Client = client
            };

            lock (_clients)
                _clients.Add(conn);
            if (!client.IsDisabled)
            {
                conn.StartWork();
            }
            return(conn);
        }
Esempio n. 3
0
        static public void ReAddClient(TcpMapClient client)
        {
            string jsonfilepath = Path.Combine(DataFolder, "TcpMapClient_" + client.Id + ".json");

            File.WriteAllText(jsonfilepath, JsonSerializer.Serialize(client));
            TcpMapClientWorker clientWorker = null;

            lock (_clients)
            {
                clientWorker = _clients.Where(v => v.Client.Id == client.Id).FirstOrDefault();
                if (clientWorker != null)
                {
                    _clients.Remove(clientWorker);
                }
            }
            if (clientWorker != null)
            {
                clientWorker.Stop();
            }
            AddStartClient(client);
        }