private void ReceiveThreadEntry() { try { while (this.running) { if (serverCred == null) { serverCred = Credential.Current(); ContextDebugger.WriteLine("[Server] Creating Server Cred"); } var request = new ServiceRequest(serverCred, this.serverSocket.Accept(), cancel.Token) { OnReceived = OnReceived }; ThreadPool.QueueUserWorkItem(request.Process); } } catch (Exception e) { OnException(e); } finally { this.running = false; ContextDebugger.WriteLine("STOPPED"); this.Stopped?.Invoke(); } }
public Client(string host, int port = DefaultPort, Credential clientCred = null) { if (port <= 0) { port = DefaultPort; } this.host = host.Trim(); this.port = port; this.spn = $"host/{host}"; ContextDebugger.WriteLine($"[Client] SPN {spn}"); this.cred = clientCred ?? Credential.Current(); this.context = new Shared.SecurityContext(cred, "Negotiate"); }