![]() |
|
Модераторы: feodorv, GremlinProg, xvr, Fixin |
![]()
|
|
| Scrolly |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 50 Регистрация: 16.3.2006 Репутация: нет Всего: нет |
Программа пытается отправить сообщение, текстовое, используя сокеты. Я хотел бы саму процедуру отправки с помощью функции send запустить в отдельном потоке, как следствие не чего не получается. Если же не использовать поток, то все проходит отлично... Прикреплен файл сервера к которому происходит подключение. Присоединённый файл ( Кол-во скачиваний: 11 )
socket_server.rar 28,25 Kb |
|||
|
||||
| JackYF |
|
|||
![]() полуавантюрист ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 5814 Регистрация: 28.8.2004 Где: страна тысячи озё р Репутация: нет Всего: 162 |
Scrolly, твой вопрос должен был быть задан в соседнем разделе.
|
|||
|
||||
| Scrolly |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 50 Регистрация: 16.3.2006 Репутация: нет Всего: нет |
Извеняюсь... Тогда просьба админам перекинуть тему в WinApi, или затереть ее. Создам заново. Заранее спасибо.
|
|||
|
||||
| AndreyK |
|
||||||||||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 102 Регистрация: 15.3.2007 Репутация: нет Всего: нет |
надо ещё правильно организовать работу
Например синхронизировать поток с кодом основной программы:
Функция WaitForSingleObject ждёт команды от основной программы, что всё в порядке и можно начинать передавать, а затем сама сообщает основной программе, что передача завершена и можно закрывать сокет (функцией SetEvent ). Но лучше и сам сокет открывать и закрывать в потоке. А основная программа тоже должна быть зацикленна и не завершаться, пока поток не прекратит работу. Примерно так:
Если из кода потока и основного потока идёт обращение к общим переменным, то надо при помощи тех-же WaitForSingleObject SetEvent и ResetEvent организовать поочерёдную работу потоков во время работы с этими переменными. Т.е. все потоки ждут, пока какой-то один не закончит работу с этими переменными... PS А нет ... синхронизацию доступа лучше проводить при помощи функций:
и
а секция инициализируется так:
Это сообщение отредактировал(а) AndreyK - 25.10.2007, 19:54 |
||||||||||
|
|||||||||||
| Scrolly |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 50 Регистрация: 16.3.2006 Репутация: нет Всего: нет |
Спасибо, работает. Только вот про CRITICAL_SECTION csss; не вовсем понял, где об этом подробнее можно почитать? мб ссылка есть?
|
|||
|
||||
| zkv |
|
|||
![]() ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 2133 Регистрация: 23.7.2006 Где: Санкт-Петербург Репутация: 12 Всего: 92 |
google опять сломался? |
|||
|
||||
| Scrolly |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 50 Регистрация: 16.3.2006 Репутация: нет Всего: нет |
)))) Точно!)
|
|||
|
||||
![]()
|
| Правила форума "C/C++: Системное программирование и WinAPI" | |
|
|
На данный раздел распространяются Правила форума и Правила раздела С++:Общие вопросы . Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Chipset, Step, Fixin, GremlinProg, xvr. feodorv. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | C/C++: Системное программирование и WinAPI | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |