Модераторы: feodorv
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Макс количество TCP соединений для процесса, надо убрать ограничения 
:(
    Опции темы
nerdy_weirdie
Дата 4.7.2009, 16:46 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 179
Регистрация: 16.1.2007

Репутация: нет
Всего: нет



Когда мое серверное приложение достигает 2000 активных входящих TCP подключений, оно перестает принимать новые входящие подключения. Как увеличить лимит?
ОС Windows Server 2003 WebEdition
PM MAIL   Вверх
REZiaMIX
Дата 5.7.2009, 04:49 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 346
Регистрация: 3.11.2007

Репутация: нет
Всего: 4





--------------------
user posted image
PM MAIL   Вверх
nerdy_weirdie
  Дата 7.7.2009, 01:14 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 179
Регистрация: 16.1.2007

Репутация: нет
Всего: нет



Цитата(REZiaMIX @ 5.7.2009,  04:49)
http://support.microsoft.com/kb/196271/ru
???

А как порты тут могут влиять? У меня только 2 порта на всё приложение открыто... И проблема возникает при приеме подключений портом с невысоким номером 3000.
PM MAIL   Вверх
REZiaMIX
Дата 14.7.2009, 03:14 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 346
Регистрация: 3.11.2007

Репутация: нет
Всего: 4



В любом случае , как написано 2000 соединений , для соединения берется свободный порт.
2 порта - это для приема подключений только)


--------------------
user posted image
PM MAIL   Вверх
nerdy_weirdie
Дата 16.7.2009, 13:24 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 179
Регистрация: 16.1.2007

Репутация: нет
Всего: нет



Цитата(REZiaMIX @ 14.7.2009,  03:14)
В любом случае , как написано 2000 соединений , для соединения берется свободный порт.
2 порта - это для приема подключений только)

Открыто только 2 порта. Подключения только входящие.


Прописывал параметр HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters\TcpNumConnections, устанавливал 0x0000FFFF - не помогло, видимо это глобальное число подключений для системы, а для процесса так и остался лимит 2000.
PM MAIL   Вверх
nerdy_weirdie
  Дата 16.7.2009, 14:48 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 179
Регистрация: 16.1.2007

Репутация: нет
Всего: нет



Господа опытные программисты, подскажите пожалуйста, не поленитесь, кто-то ведь обязательно сталкивался, а выгуглить ничего не удается.
PM MAIL   Вверх
REZiaMIX
Дата 17.7.2009, 02:32 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 346
Регистрация: 3.11.2007

Репутация: нет
Всего: 4



Цитата(nerdy_weirdie @ 16.7.2009,  13:24)
Цитата(REZiaMIX @ 14.7.2009,  03:14)
В любом случае , как написано 2000 соединений , для соединения берется свободный порт.
2 порта - это для приема подключений только)

Открыто только 2 порта. Подключения только входящие.


Прописывал параметр HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters\TcpNumConnections, устанавливал 0x0000FFFF - не помогло, видимо это глобальное число подключений для системы, а для процесса так и остался лимит 2000.

2 порта , это только для приема подключений! Для поддержания 2000 подключений к клиентам , без разницы , исходящие или входящие нужен локальный свободный порт , который судя по всему берется от какого-то начального числа , и инкрементируется для новых.
Так же надо иметь ввиду , что после закрытия сокета , его нельзя юзать некоторое время без SO_REUSEADDR.

Вот пример
И вообще , самое первое что надо сделать - включить дебаг, да и посмотреть - что возвращает WSAGetLastError.


Это сообщение отредактировал(а) REZiaMIX - 17.7.2009, 02:35


--------------------
user posted image
PM MAIL   Вверх
nerdy_weirdie
Дата 17.7.2009, 06:39 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 179
Регистрация: 16.1.2007

Репутация: нет
Всего: нет



REZiaMIX, спасибо за желание помочь! Но ты видимо что-то путаешь.. На сервере создаются сокеты для каждого нового соединения, но порты новые вовсе не резервируются, что явно видно из твоего примера. Там порты новые резервирует браузер для исходящих соединений, а сервер всё принимает восьмидесятым портом. Но я всё равно поднял MaxUserPort до максимума на всякий случай, вот выжидаю 2к подключений.
PM MAIL   Вверх
jonie
Дата 17.7.2009, 08:14 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 5613
Регистрация: 21.8.2005
Где: Владимир

Репутация: 5
Всего: 118



nerdy_weirdie для клиентский станций число соединений прошито в драйвере (tcpip.sys), часом для серверных не прошито (чуток побольше) ?
вот для клиентской станции прога: http://half-open.com/home_ru.htm

хотя вроде пишут что для 2003сервера нет ограничений..

Это сообщение отредактировал(а) jonie - 17.7.2009, 08:16


--------------------
Что-то не поняли? -> Напейтесь до зеленых человечков... эта сверхцивилизация Вам поможет...
PM MAIL Jabber   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | C/C++: Сети | Следующая тема »


 




[ Время генерации скрипта: 0.0474 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.