Ошибка 10048 при попытке открыть TcpChannel - PullRequest
1 голос
/ 19 января 2009

Я довольно неопытен в удаленном управлении. Я пытаюсь использовать его и продолжаю получать ошибку WinSock 10048 при открытии TcpChannel.

Я использую самый простой код из MSDN:

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

При первом запуске он работает и корректно завершается, но второй и т. Д. Я продолжаю получать сообщение об ошибке 10048, как будто сокет 9090 уже используется. Netstat -a вообще не показывает порт 9090, как будто он уже закрыт.

Что я делаю не так?

Ответы [ 4 ]

1 голос
/ 19 января 2009

Прежде чем спросить здесь, я потратил четыре дня, пытаясь решить эту проблему, и уже здесь есть ответ: просто WinSock в Windows XP был поврежден.

Две простые команды Windows решили проблему:

netsh int ip reset resetlog.txt

netsh winsock reset

0 голосов
/ 09 мая 2009

Я подозреваю, что клиент ISA Server Firewall иногда может вызывать такое поведение.

0 голосов
/ 19 января 2009

Да, конечно. Проблема состояла в том, что не было никаких приложений, использующих этот порт (по крайней мере, видимый netstat). Я пробовал много других портов, таких как 39000, 9095 и так далее, с точно такими же результатами.

0 голосов
/ 19 января 2009

Ошибка 10048 соответствует WSAEADDRINUSE, что означает, что адрес уже используется. Из того, что я могу сказать, это, скорее всего, означает, что порт 9090 уже занят другим приложением.

...