0

1 つは Windows 7 Ultimate (ラップトップ) を実行し、もう 1 つは Windows 7 Professional (デスクトップ) を実行しています。ラップトップで完全に機能し、マルチキャスト経由で udp パケットを送信するデスクトップのコードをチェックアウトしました (以下)。Win7 Ultimate コンピューター、win2k3 サーバー、およびテスト可能な Windows XP マシンで正常に動作します。それはオンですが、私のwin7 Proボックスでは、次のSocketExceptionが発生します

Windows 7 Pro では、マルチキャスト パケットを送信できませんか? それとも、何かが足りないのですか?

var socket = new UdpClient("239.7.23.1", 6567);
var testBuf = new byte[] {12, 24};
socket.Send(testBuf, 2);

更新:すべてのファイアウォールを無効にしたことを忘れていました。ドライバーはインテルが提供するドライバーであり、デバイスの詳細プロパティを調べて、受信バッファーと送信バッファーの両方が 2048 に設定されていることを確認し、上記を試しました。 2 ~ 256 バイトのペイロードを持つテスト コードで、すべて同じエラーが発生します。

4

1 に答える 1

1

これには多くの可能性があるため、具体的な答えはありませんが、少なくともトラブルシューティングには役立つかもしれません。

まず、コードは両方のシステムで機能する はずです。

デスクトップの NIC が安価でローエンドであり、NIC キュー用に割り当てられたバッファがそれほど多くない可能性はありますか? これは通常、NIC モデル固有の機能です (X 量の L2 キャッシュを備えた PC を取得するようなものです。モデルが異なれば、キャッシュ バッファーも異なります)。バッファー割り当てのドライバーの違いはどうですか? メーカーのドライバーまたはマイクロソフトのドライバーを使用していますか? 別のドライバーを試すか、Microsoft のバージョンではなく最新のドライバーに更新してください (使用している場合)。

ファイアウォールが両方で無効になっており、Windows ファイアウォールが各システムで異なる設定になっていないことを確認しましたか。それらは異なるルーター上にありますか?その場合、一方のルーターでマルチキャストが無効になっていて、もう一方のルーターでは無効になっていない可能性はありますか? これを引き起こすには多くのことが起こっている可能性があるため、この問題を引き起こす可能性のある多くのことが考えられます. HTH。

于 2011-04-26T01:11:05.340 に答える