среда, июня 06, 2007

Skype vs. IIS 5.1

Сегодня возникла необходимость установить на домашней Windows XP машине IIS. Установил, открыл snap-in Internet Information Services, и увидел что 'Default Web Site' не запущен. Нажал 'Start item'. И тут же увидел потрясающее сообщение об ошибке:

Unexpected error 0x8ffe2740 occurred.

Поиск известно где показал мне следующую статья в MS knowledge base:
http://support.microsoft.com/kb/816944

Статья эта говорит нам о том что подобное сообщение возникает в случае, если существует конфликт по TCP портам - какая-то программа уже использует порт, прописанный в Default Web Site. Там по умолчанию прописан конечно порт 80.

Ну дальше все уже наверное очевидно из названия поста. В лучших традициях Mark Russinovitch я запустил его замечательную утилиту Process Explorer и после недолгого изучения обнаружил:



То есть как видно Skype использует 80 порт. В настройках Skype видно следующее:



Это-то как раз и есть причина проблемы. Следовательно для того чтобы избежать описанной проблемы нужно либо выключить соответствующую галочку в Skype (и перезагрузить его), либо поменять порт по умолчанию в IIS Default Web Site.

P.S. На моей машине также (в тестовых целях) установлен пакет Денвер, представляющий из себя "набор дистрибутивов и программная оболочка, используемые Web-разработчиками (программистами и дизайнерами) для отладки сайтов на «домашней» (локальной) Windows-машине без необходимости выхода в Интернет". Денвер это, в частности, Apache - так вот ему наличие Skype не мешает, все нормально работает ... Вот соответствующая картинка:



Возможно работает все до тех пор пока кто-то не "позвонит" в Skype на 80 порт?

2 комментария:

Анонимный комментирует...

хм, а как же в скайпе на 80 порт позвонить то?

Michael комментирует...

Скорее, апач в этой конфигурации просто жестко биндит сокет на localhost:80 (судя по цели пакета), и не мешает скайпу, который слушает внешний интерфейс, а IIS биндит что-нибудь вроде 0.0.0.0:80 и пытается слушать всё что есть...