示例#1
0
 internal Client(int id, TcpClient tcpClient, Action <Client> disconnected, Mutex mutex, Connection <MonoBrick.NXT.Command, MonoBrick.NXT.Reply> NXT, QueueThread <string> logQueue, BrickType type)
 {
     this.mutex                 = mutex;
     this.Brick                 = NXT;
     this.type                  = type;
     this.logQueue              = logQueue;
     address                    = ((IPEndPoint)tcpClient.Client.RemoteEndPoint).Address;
     connectTime                = DateTime.Now;
     tcpClient.NoDelay          = true;
     networkStream              = tcpClient.GetStream();
     networkStream.ReadTimeout  = Timeout.Infinite;
     networkStream.WriteTimeout = 1000;
     onDisconnected             = disconnected;
     this.ID                    = id;
     LogId            = true;
     this.LogActivity = true;
     logQueue.AddToQueue("Client created");
 }
示例#2
0
 public void Open(string fileName)
 {
     if (stream != null)
     {
         queue.Restart();
         Close();
     }
     else
     {
         queue = new QueueThread <string>(WriteToQueue);
     }
     if (!File.Exists(fileName))
     {
         stream = new StreamWriter(fileName);
     }
     else
     {
         stream = File.AppendText(fileName);
     }
     stream.AutoFlush = true;
 }
示例#3
0
 public Tunnel()
 {
     logFile             = new LogFile();
     logQueue            = new QueueThread <string>(OnLogQueue);
     ClientDisConnected += ClientDisconnected;            //subscribe to event thrown by client thread
 }