| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > C/C++: Сети > Макс количество TCP соединений для процесса |
| Автор: nerdy_weirdie 4.7.2009, 16:46 |
| Когда мое серверное приложение достигает 2000 активных входящих TCP подключений, оно перестает принимать новые входящие подключения. Как увеличить лимит? ОС Windows Server 2003 WebEdition |
| Автор: REZiaMIX 5.7.2009, 04:49 |
| http://support.microsoft.com/kb/196271/ru ??? |
| Автор: nerdy_weirdie 7.7.2009, 01:14 | ||
А как порты тут могут влиять? У меня только 2 порта на всё приложение открыто... И проблема возникает при приеме подключений портом с невысоким номером 3000. |
| Автор: REZiaMIX 14.7.2009, 03:14 |
| В любом случае , как написано 2000 соединений , для соединения берется свободный порт. 2 порта - это для приема подключений только) |
| Автор: nerdy_weirdie 16.7.2009, 13:24 | ||
Открыто только 2 порта. Подключения только входящие. Прописывал параметр HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters\TcpNumConnections, устанавливал 0x0000FFFF - не помогло, видимо это глобальное число подключений для системы, а для процесса так и остался лимит 2000. |
| Автор: nerdy_weirdie 16.7.2009, 14:48 |
| Господа опытные программисты, подскажите пожалуйста, не поленитесь, кто-то ведь обязательно сталкивался, а выгуглить ничего не удается. |
| Автор: REZiaMIX 17.7.2009, 02:32 | ||||
2 порта , это только для приема подключений! Для поддержания 2000 подключений к клиентам , без разницы , исходящие или входящие нужен локальный свободный порт , который судя по всему берется от какого-то начального числа , и инкрементируется для новых. Так же надо иметь ввиду , что после закрытия сокета , http://forum.vingrad.ru/forum/topic-266686.html. http://img114.imageshack.us/img114/4989/20383289.jpg И вообще , самое первое что надо сделать - включить дебаг, да и посмотреть - что возвращает WSAGetLastError. |
| Автор: nerdy_weirdie 17.7.2009, 06:39 |
| REZiaMIX, спасибо за желание помочь! Но ты видимо что-то путаешь.. На сервере создаются сокеты для каждого нового соединения, но порты новые вовсе не резервируются, что явно видно из твоего примера. Там порты новые резервирует браузер для исходящих соединений, а сервер всё принимает восьмидесятым портом. Но я всё равно поднял MaxUserPort до максимума на всякий случай, вот выжидаю 2к подключений. |
| Автор: jonie 17.7.2009, 08:14 |
| nerdy_weirdie для клиентский станций число соединений прошито в драйвере (tcpip.sys), часом для серверных не прошито (чуток побольше) ? вот для клиентской станции прога: http://half-open.com/home_ru.htm хотя вроде пишут что для 2003сервера нет ограничений.. |