Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
Многопоточное подключение к серверу из одной программы
|
|||
|---|---|---|---|
|
#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?fid=57&msg=38990015&tid=2018944]: |
0ms |
get settings: |
10ms |
get forum list: |
12ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
60ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
49ms |
get tp. blocked users: |
1ms |
| others: | 15ms |
| total: | 166ms |

| 0 / 0 |
