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"); }
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; }
public Tunnel() { logFile = new LogFile(); logQueue = new QueueThread <string>(OnLogQueue); ClientDisConnected += ClientDisconnected; //subscribe to event thrown by client thread }