![]() |
|
Модераторы: feodorv |
![]()
|
|
| nerdy_weirdie |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 179 Регистрация: 16.1.2007 Репутация: нет Всего: нет |
Когда мое серверное приложение достигает 2000 активных входящих TCP подключений, оно перестает принимать новые входящие подключения. Как увеличить лимит?
ОС Windows Server 2003 WebEdition |
|||
|
||||
| REZiaMIX |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 346 Регистрация: 3.11.2007 Репутация: нет Всего: 4 |
-------------------- ![]() |
|||
|
||||
| nerdy_weirdie |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 179 Регистрация: 16.1.2007 Репутация: нет Всего: нет |
А как порты тут могут влиять? У меня только 2 порта на всё приложение открыто... И проблема возникает при приеме подключений портом с невысоким номером 3000. |
|||
|
||||
| REZiaMIX |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 346 Регистрация: 3.11.2007 Репутация: нет Всего: 4 |
В любом случае , как написано 2000 соединений , для соединения берется свободный порт.
2 порта - это для приема подключений только) -------------------- ![]() |
|||
|
||||
| nerdy_weirdie |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 179 Регистрация: 16.1.2007 Репутация: нет Всего: нет |
Открыто только 2 порта. Подключения только входящие. Прописывал параметр HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters\TcpNumConnections, устанавливал 0x0000FFFF - не помогло, видимо это глобальное число подключений для системы, а для процесса так и остался лимит 2000. |
|||
|
||||
| nerdy_weirdie |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 179 Регистрация: 16.1.2007 Репутация: нет Всего: нет |
Господа опытные программисты, подскажите пожалуйста, не поленитесь, кто-то ведь обязательно сталкивался, а выгуглить ничего не удается.
|
|||
|
||||
| REZiaMIX |
|
||||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 346 Регистрация: 3.11.2007 Репутация: нет Всего: 4 |
2 порта , это только для приема подключений! Для поддержания 2000 подключений к клиентам , без разницы , исходящие или входящие нужен локальный свободный порт , который судя по всему берется от какого-то начального числа , и инкрементируется для новых. Так же надо иметь ввиду , что после закрытия сокета , его нельзя юзать некоторое время без SO_REUSEADDR. Вот пример И вообще , самое первое что надо сделать - включить дебаг, да и посмотреть - что возвращает WSAGetLastError. Это сообщение отредактировал(а) REZiaMIX - 17.7.2009, 02:35 -------------------- ![]() |
||||
|
|||||
| nerdy_weirdie |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 179 Регистрация: 16.1.2007 Репутация: нет Всего: нет |
REZiaMIX, спасибо за желание помочь! Но ты видимо что-то путаешь.. На сервере создаются сокеты для каждого нового соединения, но порты новые вовсе не резервируются, что явно видно из твоего примера. Там порты новые резервирует браузер для исходящих соединений, а сервер всё принимает восьмидесятым портом. Но я всё равно поднял MaxUserPort до максимума на всякий случай, вот выжидаю 2к подключений.
|
|||
|
||||
| jonie |
|
|||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 5613 Регистрация: 21.8.2005 Где: Владимир Репутация: 5 Всего: 118 |
nerdy_weirdie для клиентский станций число соединений прошито в драйвере (tcpip.sys), часом для серверных не прошито (чуток побольше) ?
вот для клиентской станции прога: http://half-open.com/home_ru.htm хотя вроде пишут что для 2003сервера нет ограничений.. Это сообщение отредактировал(а) jonie - 17.7.2009, 08:16 -------------------- Что-то не поняли? -> Напейтесь до зеленых человечков... эта сверхцивилизация Вам поможет... |
|||
|
||||
![]()
|
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | C/C++: Сети | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |