Я хочу использовать IOCP для обработки сотен клиентских подключений. Есть ли проблема в использовании accept()
для принятия этих соединений, или я должен использовать WSAAccept()
?Могу ли я использовать accept() с IOCP?
ответ
Не должно быть никаких проблем. Но может быть, поскольку интерфейсы berkley и WSA не должны смешиваться. Я смешал сокеты и WSASelect в проекте без проблем, поскольку возвращаемый дескриптор SOCKET
тот же, независимо от того, какую команду вы использовали для его получения.
Но это ИМХО плохой стиль, чтобы смешивать его там, где это не нужно. Поэтому, если вы уже использовали стиль WSA, придерживайтесь его.
Вы также должны посмотреть на функцию AcceptEx().
Одна из серьезных причин для использования AcceptEx()
заключается в том, чтобы избежать использования другого потока, который только проснулся, чтобы обрабатывать новые соединения.
Будьте осторожны с AcceptEx()
, хотя и, в идеале, не используйте параметр «принять и прочитать данные», который доступен, поскольку это делает его довольно простым для DOS-сервера, открывая соединения и НЕ отправляя данные и код, необходимый для того, чтобы избежать потенциал для атаки DOS довольно сложный, чтобы получить право.
- 1. Должен ли использоваться WSASocket() с IOCP?
- 2. Должен ли я использовать IOCP или перекрывать WSASend/Receive?
- 3. где/как я могу определить, использует ли класс .net IOCP?
- 4. Могу ли я использовать NSURLConnection с UIProgressView?
- 5. Как проверить, включена ли IOCP?
- 6. Подключение клиента, не являющегося IOCP, с сервером IOCP
- 7. Создает ли IOCP собственные потоки?
- 8. Использование SslStream с IOCP
- 9. Могу ли я использовать webclient.uploadvalues ()
- 10. Дизайн критической секции IOCP
- 11. Могу ли я использовать Matrix.containsInRelativeOrder?
- 12. Могу ли я использовать декораторы?
- 13. Могу ли я использовать JQuery?
- 14. Могу ли я использовать pushViewController с UISegmentedControl?
- 15. Могу ли я использовать Materializecss с дротиками?
- 16. Могу ли я использовать Activator.CreateInstance с интерфейсом?
- 17. Могу ли я использовать swscanf_s с Linux
- 18. Могу ли я использовать Moq с дозвуковым3?
- 19. Могу ли я использовать UISearchController с раскадрой?
- 20. Могу ли я использовать IBOutletCollection с WatchKit?
- 21. Могу ли я использовать concat с toString?
- 22. Могу ли я использовать Activex с silverlight4?
- 23. Могу ли я использовать LESS с Xul?
- 24. Могу ли я использовать copyField с шаблонами?
- 25. Могу ли я использовать C++ с UDK?
- 26. Могу ли я использовать webpack с openUI5?
- 27. Могу ли я использовать CSSTranforming с GWT?
- 28. Могу ли я использовать переменную с .innerHTML
- 29. Могу ли я использовать JSP с Angular2?
- 30. Могу ли я использовать JSNice с ES6?