1

私はリモーティングにかなりの経験がありません。私はそれを使用しようとしていますが、TcpChannel を開くときに WinSock エラー 10048 を受け取り続けています。

MSDN の最も単純なコードを使用します。

    TcpChannel serverChannel = new TcpChannel(9090);
    ChannelServices.RegisterChannel(serverChannel);
    RemotingConfiguration.RegisterWellKnownServiceType(
        typeof(RemoteObject), "RemoteObject.rem", 
        WellKnownObjectMode.Singleton);

初めて実行したときは正常に動作して終了しましたが、2 回目以降はソケット 9090 が既に使用されているなどのエラー 10048 が表示され続けます。Netstat -a ポート 9090 は、すでに閉じられているため、まったく表示されません。

私は何を間違っていますか?

4

4 に答える 4

1

ここで質問する前に、私はこれを解決するために 4 日間を費やしましたが、既に答えがここにあります。Windows XP の WinSock が破損しているだけです。

2 つの単純な Windows コマンドが問題を解決しました。

netsh int ip リセット resetlog.txt

netsh winsock リセット

于 2009-01-19T00:43:34.790 に答える
0

エラー 10048 は WSAEADDRINUSE に対応しており、アドレスが既に使用されていることを意味します。私が知る限り、ポート 9090 が既に別のアプリケーションによって使用されている可能性が高いです。

于 2009-01-19T02:12:26.887 に答える
0

はい、もちろん。問題は、そのポートを使用するアプリケーションがなかったことです (少なくとも netstat で確認できます)。39000、9095 などの他の多くのポートを試しましたが、まったく同じ結果が得られました。

于 2009-01-19T02:17:07.220 に答える