私はこの問題に長い間静かに取り組んでいます...次のステップは、すべてのPCを再インストールするか、すべてを再プログラムすることです...
私が使用しているプログラム(C#)は古いものです(これを書いた人はもう利用できません:()
別のテスト環境ではすべてが正常に機能しますが、私のものでは機能しません...違いがどこにあるかを理解できませんでした。
プログラムを起動してクライアントに接続しようとすると、次のエラーが発生します。
サーバーはクライアントの資格情報を拒否しました。
私が今までにしたこと:
- 事前設定された管理者ユーザーで試してみました。
- 同じワークグループにある両方のPCで同じユーザーを作成しましたユーザー:テストPW:123456ワークグループ:TESTLAB
- [ローカルセキュリティ設定]->[ローカルポリシー]->[ユーザー権利の割り当て]->ネットワークからこのコンピューターにアクセスするユーザー:全員、認証済みユーザー、管理者(両方のPC)を追加しました
- Windowsファイアウォールが無効になっているため、両方のPCが相互にpingを実行し、RDP経由で接続できます
また、(Wiresharkを使用して)接続しようとしているときに、いくつかのネットワークパッケージが飛び回っているのがわかります。
private static System.ServiceModel.Channels.Binding getLargeNetTCPTransferBinding()
{
NetTcpBinding binding = new NetTcpBinding(/*SecurityMode.Message, true*/);
binding.MaxReceivedMessageSize = 2147483647;
binding.TransferMode = TransferMode.Buffered;
binding.MaxBufferSize = 2147483647;
binding.ReceiveTimeout = new TimeSpan(00, 2, 0);
binding.SendTimeout = new TimeSpan(00, 2, 0);
binding.Security.Mode = SecurityMode.Transport;
binding.Security.Transport.ClientCredentialType = TcpClientCredentialType.Windows;
binding.Security.Transport.ProtectionLevel = System.Net.Security.ProtectionLevel.EncryptAndSign;
//binding.ReliableSession.Enabled = true;
binding.ReliableSession.InactivityTimeout = new TimeSpan(23, 59, 59);
binding.ReaderQuotas.MaxStringContentLength = 2147483647;
//binding.TransactionFlow = true;
return binding;
}
私が言ったように、同じコードは別のテスト環境で機能します:/通信は「localhost」でも機能するので、少なくともコードは私のワークステーションでも機能するはずです。両方のPCがWindowsXPSP3を実行しています(すべてが機能する2番目の環境と同じ)
うまくいけば、誰かが私を助けることができます:/