Welcome to TechNet Blogs Sign in | Join | Help

Как зарезервировать порт

Иногда бывает, что вы используете какую-нибудь полусерверную программку, которая должна слушать на сетевом порту, вы ее запускаете и уп-с... она ломается. Говорит, что порт занят. Кем?

Секрет обычно прост: если вы используете порт с номером больше чем 1024, любая программа, которая запросила любой порт, может получить именно его.  Кажется, совершенно невероятное событие, однако при тестировании BizTalk’а мы на это наталкивались. MSMQ/T адаптер слушал на порте 1801 (порт MSMQ), и иногда его захватывали случайные приложения.

Чтобы таких случайностей не происходило, порт можно зарезервировать. Для этого достаточно добавить номер порта в формате диапазона в специальный ключ в registry:

Ключ: SYSTEM\CurrentControlSet\Services\TCPIP\Parameters
Имя: ReservedPorts

Значение записывается в формате «номер порта-номер порта», например, «1801-1801» (без кавычек) зарезервирует порт 1801, а «1675-1679» зарезервирует порты 1675, 1676, 1677, 1678 и 1679.

Ну, и чтоб совсем скучно не было, вот какое я фото сделал реки Колумбии (это здесь в Вашингтоне за горами, кликните на картинки, чтобы увидеть их большего размера):

Columbia river, WA
Columbia river, WA
Columbia river, WA
Published Friday, July 28, 2006 3:00 PM by EldarM

Comment Notification

If you would like to receive an email when updates are made to this post, please register here

Subscribe to this post's comments using RSS

Comments

# re: Как зарезервировать порт

красивые места!
Tuesday, August 01, 2006 5:38 AM by FFx00xF0

# re: Как зарезервировать порт

Вас можно поздравить. Вы  сделали  супер-открытие. Видимо, в Microsoft Corp. до Вас никто и не  знал о "программках слушающих на порте". Иначе,  как можно объяснить результат работы  "программки" netstat -a, запущенной в консоли, Обычно она выдает целую кучу "портов",  которые "слушают" "программки", о которых  обычный пользователь никакого представления  не имеет. :)  А ему оно надо?....
Ну а реестр Windows - это просто супер-изобретение... Чтобы с ним работать, видимо, совершенно необходимо получить сертификат Microsoft..


PS:  а что  красивого на снимках:  пустыня ..  Видимо, чего-то не понимаю... Sorry.....
PPS: я бы написал: "на сетевом порту"  а не "на сетевом  порте". Но Вас, как "коренного питерца", закончившего  университет, не мне учить..
Tuesday, August 01, 2006 2:51 PM by costan

# re: Как зарезервировать порт

Спасибо за поздравления. На Майкрософте знают. Просто я писал не для Майкрософта, а снаружи как раз многие не знают _как_ это сделать. Ну а за систему портов, скажите спасибо ребятам из Юникса... :-)

Спасибо за пойманную очипятку, ща подправлю.
Wednesday, August 02, 2006 2:05 PM by EldarM

# re: Как зарезервировать порт

Да, еще насчет фото -- на них нужно кликнуть мышкой, левой кнопкой, тогда увидите большого размера. Ну, а если и после этого не понравится... de gustibus non disputandum est.
Wednesday, August 02, 2006 2:12 PM by EldarM

# re: Как зарезервировать порт

Ошибочка:
Не "больше чем 1204", а "больше, чем 1024".

Ну это так, дружеское замечание. :)
Tuesday, September 05, 2006 8:42 AM by BoresExpress

# re: Как зарезервировать порт

Ой, и правда, очипятка... Щас исправлю, спасибо!
Tuesday, September 05, 2006 1:42 PM by EldarM

# re: Как зарезервировать порт

2 costan:

На русском про это нигде не написано больше. По крайней мере гугл только вот эту ссылку по теме выдаёт. Так что автору - спасибо.

А вот, кстати ссылка на MS:

How to reserve a range of ephemeral ports on a computer that is running Windows Server 2003 or Windows 2000 Server

http://support.microsoft.com/kb/812873

Monday, May 28, 2007 12:39 AM by Mazay

Leave a Comment

(required) 
required 
(required) 
 
Page view tracker