Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
Многопоточное подключение к серверу из одной программы
|
|||
|---|---|---|---|
|
#18+
Подключаюсь через сокеты к серверу(127.0.0.1:5555). если одно подключение с одного клиента то работает, по одному подключению с двух клиентов тоже работает. и отправляется сообщение на сервер. а теперь хочу сделать несколько соединений с одной программы подключение прописано в функции init Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. Само подключение Код: plaintext 1. 2. 3. 4. 5. 6. но тут подключение происходит а затем сразу отключается. и при этом ниче не успевает отправится. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.06.2015, 13:35 |
|
||
|
Многопоточное подключение к серверу из одной программы
|
|||
|---|---|---|---|
|
#18+
Наверно из-за того что WsaData у тебя локальная переменная, которая посте отработки init() становится мусором и затирается другими данными. И WSAStartup() надо однократно вызывать, а не перед каждым соединением. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.06.2015, 13:48 |
|
||
|
Многопоточное подключение к серверу из одной программы
|
|||
|---|---|---|---|
|
#18+
Картежникно тут подключение происходит а затем сразу отключается. и при этом ниче не успевает отправится. Тут у тебя совсем нет потоков, как это будет работать -- не очень понятно. Ну, допустим, как-то будет. Отключает скорее всего сервер, скорее всего он работает по какому-то протоколу уровня приложения поверх TCP, типа POP3 или HTTO, и сервер ждёт, чтобы клиент послал что-то по этому протоколу, инициировал сессию как-то, а этого не происходит, и, немного подождав, сервер закрывает соединние. Может быть это и не так в реальности, но по крайней мере ты должен думать, что у тебя происходит и на стороне сервера тоже, а про это ты вообще молчишь. Если хочешь тестировать только клиента, подключай его к хрестоматийному tcp echo server например (код которого найти можно легоко в сети, и собрать под свою платформу), или аналогичному тестовому TCP-серверу, и проверяй так клиента, а потом уже будешь подключаться куда-то к другому серверу. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.06.2015, 13:49 |
|
||
|
Многопоточное подключение к серверу из одной программы
|
|||
|---|---|---|---|
|
#18+
Dima TНаверно из-за того что WsaData у тебя локальная переменная, которая посте отработки init() становится мусором и затирается другими данными. И WSAStartup() надо однократно вызывать, а не перед каждым соединением. Ну это -- фишки WinSocks, я в этом не понимаю ничего, но если так, то легко исправить -- перенести эту переменную в класс. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.06.2015, 13:51 |
|
||
|
Многопоточное подключение к серверу из одной программы
|
|||
|---|---|---|---|
|
#18+
MasterZivчто у тебя происходит и на стороне сервера тоже, а про это ты вообще молчишь. Если хочешь тестировать только клиента, подключай его к хрестоматийному tcp echo server например (код которого найти можно легоко в сети, и собрать под свою платформу), или аналогичному тестовому TCP-серверу, и проверяй так клиента, а потом уже будешь подключаться куда-то к другому серверу. сервер не мой. в чужом коде кавыряться не хотелось бы. просто получается если две программы-клиента запустить (у каждого по одному клиенту) то работает. а если одну с двумя клиентами то не работает ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.06.2015, 13:54 |
|
||
|
Многопоточное подключение к серверу из одной программы
|
|||
|---|---|---|---|
|
#18+
Картежникпри этом ниче не успевает отправится. Так ты код отправки забыл написать. Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.06.2015, 14:02 |
|
||
|
Многопоточное подключение к серверу из одной программы
|
|||
|---|---|---|---|
|
#18+
Картежникесли одну с двумя клиентами то не работает "не работает" понятие растяжимое. Ошибки надо смотреть и анализировать. Что возвращает WSAGetLastError() и в какой момент? PS Про WsaData я похоже напутал, почитал, как понимаю там просто инфа о версии либы WSA ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.06.2015, 14:04 |
|
||
|
Многопоточное подключение к серверу из одной программы
|
|||
|---|---|---|---|
|
#18+
Dima T, сделал теперь работает у меня просто в client[i].clear(); вот такой код Код: plaintext 1. 2. 3. 4. исправил. теперь работает. теперь делаю так запускаю цикл и отправляю с 10 по 100 клиентов с одной проги бесконечные сообщения с задержкой 1мс. серверпринимает около 15000 а затем падает. при отправке сообщений с одного клиента тоже падал после 11000-15000 сообщений ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.06.2015, 14:18 |
|
||
|
Многопоточное подключение к серверу из одной программы
|
|||
|---|---|---|---|
|
#18+
Картежниксерверпринимает около 15000 а затем падает Удачный эксплоит. Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.06.2015, 14:38 |
|
||
|
Многопоточное подключение к серверу из одной программы
|
|||
|---|---|---|---|
|
#18+
WSACleanup() надо вызывать после WSAStartup(), а так у тебя получилось что ты инициализировал WSA, установил соединение и перед следующим закрыл все что связано с сетью, в т.ч. ранее открытые соединения. Вынеси WSAStartup() и WSACleanup() в main(), вызывай их там один раз. Картежниксерверпринимает около 15000 а затем падает. при отправке сообщений с одного клиента тоже падал после 11000-15000 сообщений Это уже к разработчику сервера. Чего-то он там накосячил. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.06.2015, 14:47 |
|
||
|
Многопоточное подключение к серверу из одной программы
|
|||
|---|---|---|---|
|
#18+
Dima TЭто уже к разработчику сервера. Чего-то он там накосячил. нет это мой косяк. сервер принимает все, если один клиент отключился, и заново запустить он примет еще 15000 отправляю сообщения Hello World, сервер принимает 15000 оптравляю Hello сервер принмиает в несколько раз(вроде в два раза) больше вот код как у меня создаются сообщения Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. Здесь вызывается функция для создания сообщения и отправки Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.06.2015, 14:58 |
|
||
|
Многопоточное подключение к серверу из одной программы
|
|||
|---|---|---|---|
|
#18+
КартежникDima TЭто уже к разработчику сервера. Чего-то он там накосячил. нет это мой косяк. сервер принимает все, если один клиент отключился, и заново запустить он примет еще 15000 отправляю сообщения Hello World, сервер принимает 15000 оптравляю Hello сервер принмиает в несколько раз(вроде в два раза) больше ... А ответы принимать кто будет? У тебя в цикле только отправка, приема нет. Скорее всего сервер забил у себя буфер отправки и у тебя буфер приема ответами на твое Hello, видит что ты обратно ничего не принимаешь и рвет соединение или отвечать перестает. Для проверки попробуй буфер приема увеличить Код: plaintext 1. 2. 3. 4. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.06.2015, 15:12 |
|
||
|
Многопоточное подключение к серверу из одной программы
|
|||
|---|---|---|---|
|
#18+
Картежникнет это мой косяк. Падает твоё приложение или сервер? Кто падает - того и косяк. Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.06.2015, 15:18 |
|
||
|
Многопоточное подключение к серверу из одной программы
|
|||
|---|---|---|---|
|
#18+
ТС, и тем не менее, мой совет про отладку клиента на tcp echo server я бы оставил в силе. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.06.2015, 16:26 |
|
||
|
Многопоточное подключение к серверу из одной программы
|
|||
|---|---|---|---|
|
#18+
MasterZiv, мое приложение падает. перестает отправлять. а сервер дальше может принимать сообщения от других клиентов. отправку ответа от сервера отключил. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.06.2015, 17:14 |
|
||
|
Многопоточное подключение к серверу из одной программы
|
|||
|---|---|---|---|
|
#18+
сервер и клиент на данный момент находятся на одном компе ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.06.2015, 17:17 |
|
||
|
Многопоточное подключение к серверу из одной программы
|
|||
|---|---|---|---|
|
#18+
как насчет того что кол-во отправляемых сообщений зависит от размера сообщения. как я говорил выше, hello world 15000, hello больше где то в 2 раза забыл. запомнить. помню что было больше ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.06.2015, 17:19 |
|
||
|
Многопоточное подключение к серверу из одной программы
|
|||
|---|---|---|---|
|
#18+
Картежникмое приложение падает. перестает отправлять. "падает" это что? Вылетает? Ошибку выдает? Какую ошибку? В каком месте? Тут телепатов нет, пиши подробнее. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.06.2015, 17:21 |
|
||
|
Многопоточное подключение к серверу из одной программы
|
|||
|---|---|---|---|
|
#18+
Dima TКартежникмое приложение падает. перестает отправлять. "падает" это что? Вылетает? Ошибку выдает? Какую ошибку? В каком месте? Тут телепатов нет, пиши подробнее. падает это перестает отправлять. ошибок никаких не выдает. даже соединения не отключаются. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.06.2015, 17:25 |
|
||
|
Многопоточное подключение к серверу из одной программы
|
|||
|---|---|---|---|
|
#18+
Картежник, так давай весь код, целиком, как он сейчас есть. Надеюсь, что всё, о чем уже сказали, ты уже исправил. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.06.2015, 17:26 |
|
||
|
Многопоточное подключение к серверу из одной программы
|
|||
|---|---|---|---|
|
#18+
По мне так весь приведённый код -- хрень какая-то. Ничего не понятно, куски какие-то, а не код, и все как-то очень странно. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.06.2015, 17:29 |
|
||
|
Многопоточное подключение к серверу из одной программы
|
|||
|---|---|---|---|
|
#18+
забыл сказать. до этого когда была отправка ответа от сервера, тогда клиент отправлял 15000 и падал и отключалось соединение. сейчас отключил отправку ответа. и клиент отправляет не 15000, а 10500 при Hello World! и 144000 при Hello! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.06.2015, 17:29 |
|
||
|
Многопоточное подключение к серверу из одной программы
|
|||
|---|---|---|---|
|
#18+
Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. 66. Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. 66. 67. 68. 69. 70. 71. 72. 73. 74. 75. 76. 77. 78. 79. 80. 81. 82. 83. 84. 85. 86. 87. 88. 89. 90. 91. 92. 93. 94. 95. 96. 97. 98. 99. 100. 101. 102. 103. 104. 105. 106. 107. 108. 109. 110. 111. 112. 113. 114. 115. 116. 117. 118. 119. 120. 121. 122. 123. 124. 125. 126. Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.06.2015, 17:33 |
|
||
|
Многопоточное подключение к серверу из одной программы
|
|||
|---|---|---|---|
|
#18+
Картежник клиент отправлял 15000 и падал и отключалось соединение 15000 -- это что ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.06.2015, 18:14 |
|
||
|
Многопоточное подключение к серверу из одной программы
|
|||
|---|---|---|---|
|
#18+
MasterZivКартежник клиент отправлял 15000 и падал и отключалось соединение 15000 -- это что ? 15000 сообщений ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.06.2015, 18:15 |
|
||
|
Многопоточное подключение к серверу из одной программы
|
|||
|---|---|---|---|
|
#18+
Картежник, Ты исправил то, что тебе уже говорили в данном топике ? Нет, я вижу, не исправил . ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.06.2015, 18:16 |
|
||
|
Многопоточное подключение к серверу из одной программы
|
|||
|---|---|---|---|
|
#18+
Картежник, авторWSAStartup function The WSAStartup function initiates use of the Winsock DLL by a process. ... Remarks The WSAStartup function must be the first Windows Sockets function called by an application or DLL. It allows an application or DLL to specify the version of Windows Sockets required and retrieve details of the specific Windows Sockets implementation. The application or DLL can only issue further Windows Sockets functions after successfully calling WSAStartup. Её один раз во всей программе звать надо, а ты на каждое соединение её вызываешь. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.06.2015, 18:19 |
|
||
|
Многопоточное подключение к серверу из одной программы
|
|||
|---|---|---|---|
|
#18+
MasterZiv, сейчас 5 сек проверю ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.06.2015, 18:20 |
|
||
|
Многопоточное подключение к серверу из одной программы
|
|||
|---|---|---|---|
|
#18+
MasterZivКартежник, авторWSAStartup function The WSAStartup function initiates use of the Winsock DLL by a process. ... Remarks The WSAStartup function must be the first Windows Sockets function called by an application or DLL. It allows an application or DLL to specify the version of Windows Sockets required and retrieve details of the specific Windows Sockets implementation. The application or DLL can only issue further Windows Sockets functions after successfully calling WSAStartup. Её один раз во всей программе звать надо, а ты на каждое соединение её вызываешь. поставил один раз в функц майн. а в других местах убрал проверил все так же. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.06.2015, 18:24 |
|
||
|
Многопоточное подключение к серверу из одной программы
|
|||
|---|---|---|---|
|
#18+
КартежникMasterZivКартежник, пропущено... Её один раз во всей программе звать надо, а ты на каждое соединение её вызываешь. поставил один раз в функц майн. а в других местах убрал проверил все так же. Я в этом не сомневался, только надо с самого начала было делать всё правильно. Новый код давай, да ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.06.2015, 18:25 |
|
||
|
Многопоточное подключение к серверу из одной программы
|
|||
|---|---|---|---|
|
#18+
MasterZiv, Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.06.2015, 18:31 |
|
||
|
Многопоточное подключение к серверу из одной программы
|
|||
|---|---|---|---|
|
#18+
Картежникпадает это перестает отправлять. ошибок никаких не выдает. даже соединения не отключаются. Ппц, кто тебе их должен выдавать? Не на VB пишешь. Сам проверяй, пиши в коде проверки, WSAGetLastError() в помощь. Проверяй везде где общение с сетью не удалось, пиши в лог/на экран, дальше разбирайся почему так. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.06.2015, 21:36 |
|
||
|
Многопоточное подключение к серверу из одной программы
|
|||
|---|---|---|---|
|
#18+
покавырялся выяснил что что сообщение отправляется с клиента, а до сервера не доходит или он не принимает на клиенте показывает что отправил 105895, а на сервере 105894 решил пошагово просмотреть Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. в то время как сервер может и дальше принимать сообщения от других клиентов ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.06.2015, 06:56 |
|
||
|
Многопоточное подключение к серверу из одной программы
|
|||
|---|---|---|---|
|
#18+
send() блокируется пока отправка не произойдет. Добавь проверку готовности сокета к отправке Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.06.2015, 07:24 |
|
||
|
Многопоточное подключение к серверу из одной программы
|
|||
|---|---|---|---|
|
#18+
Dima Tsend() блокируется пока отправка не произойдет. Добавь проверку готовности сокета к отправке Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. добавил, также и потом выводит socket is full. на клиенте проблема или на сервере? я сделал свой другой сервер, отправляю туда уходит бесконечно. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.06.2015, 07:39 |
|
||
|
Многопоточное подключение к серверу из одной программы
|
|||
|---|---|---|---|
|
#18+
на клиенте после 105895 сообщений бесконечно выходит socket is full код с клиента Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. на серваке пишет что нет данных код с сервака Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.06.2015, 08:33 |
|
||
|
Многопоточное подключение к серверу из одной программы
|
|||
|---|---|---|---|
|
#18+
Картежникдобавил, также и потом выводит socket is full. на клиенте проблема или на сервере? Сервер не забирает данные, поэтому на клиенте заполнился буфер. Может сервер закрыл соединение. Добавь проверку что сокет рабочий: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.06.2015, 09:09 |
|
||
|
Многопоточное подключение к серверу из одной программы
|
|||
|---|---|---|---|
|
#18+
не дописал немного Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.06.2015, 09:19 |
|
||
|
Многопоточное подключение к серверу из одной программы
|
|||
|---|---|---|---|
|
#18+
Dima T, также только теперь бесконечно выходит "error2 0" а socket is full не выходит Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.06.2015, 09:20 |
|
||
|
Многопоточное подключение к серверу из одной программы
|
|||
|---|---|---|---|
|
#18+
теперь получается так пока на сервере все сообщения не поступят пишет error2 0, после того как сервер отобразит все полученные сообщения клиент пишет socket is full Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.06.2015, 09:24 |
|
||
|
Многопоточное подключение к серверу из одной программы
|
|||
|---|---|---|---|
|
#18+
Картежниктолько теперь бесконечно выходит "error2 0" а socket is full не выходит у select() три набора сокетов, первый - есть что читать, второй - готов к отправке, третий - проверка на ошибки надо оба select() Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.06.2015, 09:27 |
|
||
|
Многопоточное подключение к серверу из одной программы
|
|||
|---|---|---|---|
|
#18+
tl;dr Посмотрите на Boost.Asio ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.06.2015, 10:03 |
|
||
|
Многопоточное подключение к серверу из одной программы
|
|||
|---|---|---|---|
|
#18+
63 подключенных клиента сервер принимает сообщения бесконечно. если больше то останавливается (не прием сообщений, а отправка на клиенте) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.06.2015, 11:10 |
|
||
|
Многопоточное подключение к серверу из одной программы
|
|||
|---|---|---|---|
|
#18+
Картежник63 подключенных клиента сервер принимает сообщения бесконечно. если больше то останавливается (не прием сообщений, а отправка на клиенте) Это ограничение сервера. Если сервер использует select() для ожидания сообщений клиентов, то fd_set по умолчанию принимает 64 сокета https://msdn.microsoft.com/en-us/library/windows/desktop/ms740141(v=vs.85).aspx Four macros are defined in the header file Winsock2.h for manipulating and checking the descriptor sets. The variable FD_SETSIZE determines the maximum number of descriptors in a set. ( The default value of FD_SETSIZE is 64 , which can be modified by defining FD_SETSIZE to another value before including Winsock2.h.) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.06.2015, 11:37 |
|
||
|
Многопоточное подключение к серверу из одной программы
|
|||
|---|---|---|---|
|
#18+
Dima TКартежник63 подключенных клиента сервер принимает сообщения бесконечно. если больше то останавливается (не прием сообщений, а отправка на клиенте) Это ограничение сервера. Если сервер использует select() для ожидания сообщений клиентов, то fd_set по умолчанию принимает 64 сокета https://msdn.microsoft.com/en-us/library/windows/desktop/ms740141(v=vs.85).aspx Four macros are defined in the header file Winsock2.h for manipulating and checking the descriptor sets. The variable FD_SETSIZE determines the maximum number of descriptors in a set. ( The default value of FD_SETSIZE is 64 , which can be modified by defining FD_SETSIZE to another value before including Winsock2.h.) аха а как мне его увеличть, не подскажите? на сервере стоит Код: plaintext 1. 2. 3. 4. 5. но все равно 63 соединения ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.06.2015, 11:45 |
|
||
|
Многопоточное подключение к серверу из одной программы
|
|||
|---|---|---|---|
|
#18+
Картежникаха а как мне его увеличть, не подскажите? Там же написано: задефайнить перед winsock2.h, т.е. Код: plaintext 1. 2. По-хорошему, если сервер будет обслуживать одновременно много соединений, лучше взять какую-нибудь библиотеку, например: libevent или boost.asio ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.06.2015, 11:52 |
|
||
|
Многопоточное подключение к серверу из одной программы
|
|||
|---|---|---|---|
|
#18+
все сделал нормально теперь в майн файле надо было задать FD_SETSIZE Код: plaintext 1. 2. 3. 4. 5. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.06.2015, 11:54 |
|
||
|
Многопоточное подключение к серверу из одной программы
|
|||
|---|---|---|---|
|
#18+
Dima TКартежникаха а как мне его увеличть, не подскажите? Там же написано: задефайнить перед winsock2.h, т.е. Код: plaintext 1. 2. По-хорошему, если сервер будет обслуживать одновременно много соединений, лучше взять какую-нибудь библиотеку, например: libevent или boost.asio ну или так. с бустой кавырялся до этого че то сликшом сложно. пока просто установил чтоб компилилась стока времени потерял. а потом надо было на QT чтоб использовалась, там так и не смог скомпилить без ошибок ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.06.2015, 11:57 |
|
||
|
|

start [/forum/topic.php?all=1&fid=57&tid=2018944]: |
0ms |
get settings: |
8ms |
get forum list: |
12ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
60ms |
get topic data: |
11ms |
get forum data: |
3ms |
get page messages: |
70ms |
get tp. blocked users: |
1ms |
| others: | 11ms |
| total: | 184ms |

| 0 / 0 |
