![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Пользователь
Регистрация: 23.05.2010
Сообщений: 19
|
![]()
Помогите, объясните, плиз, почему не работает! =(
Сетевое приложение Windows Forms с использованием winsock2, написано в Microsoft Visual Studio 2008, язык С++. Работа приложения: по нажатию на кнопку ждем всего лишь одно соединение, когда дождалиьсь, то должны стать видимыми несколько других кнопок. При этом приложение не должно зависать, т.е. используем потоки. Код: Код:
Скажите, плиз, почему не выполняется код после accept() в потоке? Или может у каго есть другие варианты как добиться того, что я хочу, потому что я уже не знаю что придумать((( Последний раз редактировалось Fissa; 23.05.2010 в 10:34. |
![]() |
![]() |
![]() |
#2 |
Пользователь
Регистрация: 23.05.2010
Сообщений: 19
|
![]()
извините - в последней строке конечно же MyThread а не oThread2 - очепятка
Выяснилось, что и сама функция accept() не срабатывает((( так что у меня НЕ РАБОТАЕТ ПОТОК. ПОМОГИТЕ! Объясните, что не так. |
![]() |
![]() |
![]() |
#3 |
Android Developer
Старожил Подтвердите свой е-майл
Регистрация: 19.02.2007
Сообщений: 3,708
|
![]() Код:
Последний раз редактировалось BOBAH13; 24.05.2010 в 19:13. |
![]() |
![]() |
![]() |
#4 | |
Пользователь
Регистрация: 23.05.2010
Сообщений: 19
|
![]() Цитата:
Причем я реализовывала поток и с помощью BackgroundWorker - там абсолютно тоже самое: поток запускается и тут завершается, соотвественно соединение не успевает установится, но тут еще и следующее - при попытке присоединится к программе она зависает. Вопрос теперь в следующем - КАК ВЫНЕСТИ ACCEPT() В ОТДЕЛЬНЫЙ ПОТОК, ЧТОБ ОНА ЖДАЛА ТАКИ СОЕДИНЕНИЯ? Последний раз редактировалось Fissa; 25.05.2010 в 09:53. |
|
![]() |
![]() |
![]() |
#5 |
Старожил
Регистрация: 28.01.2009
Сообщений: 21,000
|
![]()
а разве WSASturtup не надо?
(для каждого потока) у вас в основном потоке оно работает? Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел. Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите. |
![]() |
![]() |
![]() |
#6 | |
Пользователь
Регистрация: 23.05.2010
Сообщений: 19
|
![]() Цитата:
WSADATA wsaData; WSAStartup(MAKEWORD(2,2), &wsaData); прост забыла их дописать здесь на форуме. Включила щас их и в создаваемый поток, в результате то же самое - accept() все равно не хочет ожидать подключения((( |
|
![]() |
![]() |
![]() |
#7 |
Форумчанин
Регистрация: 25.09.2009
Сообщений: 525
|
![]()
я бы посоветовал просто писать на с#, зачем вообще писать на с++ и использовать NET не понятно...
с++ хорош скоростью и независимостью от всяких фреймворков а net удобен, код пишется легко и понятно, но он чуть медленней и требует сам фреймворк совместим их и получается что пишется медленно, не удобно, но при этом скоростью не блещет и требует фреймворк, т.е убиты преимущества обоих ну и конечно глюки которые не может исправить ни программист С#, ни С++ но дело ваше конечно, просто сказал что думаю ) |
![]() |
![]() |
![]() |
#8 | |
Пользователь
Регистрация: 23.05.2010
Сообщений: 19
|
![]()
Пепел Феникса, спасибо Вам, что навели меня на мысль!
Я перенесла весь код кнопки в создаваемый поток, т.е. инициализацию сокетов и т.д., оставила там лишь запуск потока. В итоге, все получилось! send и recv тоже отлично работают в основном потоке, не смотря на всю инициализацию сокетов и т.д. во втором потоке. ПРОБЛЕМА РЕШЕНА =) Тема закрыта. P.S. Кстати я вместо тредов использовала BackgroundWorker, т.к. он намного проще, удобнее и полностью для моей проги подходит)) А прога конечно же не та, что я написала, у меня игра сетевая с немаленьким кодом (около 1000 строк собсвенного кода), не удачно работала лишь сетевая часть, т.к. это первое сетевое приложение. Цитата:
Последний раз редактировалось Fissa; 25.05.2010 в 16:43. |
|
![]() |
![]() |
![]() |
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Вывод сообщения в отдельном потоке и т.д. | Casper-SC | Общие вопросы .NET | 7 | 18.05.2010 03:32 |
всплывающее окно(в отдельном потоке) | Virus191288 | Компоненты Delphi | 8 | 21.01.2010 13:41 |
Загрузка данных в отдельном потоке | Dj_smart | Gamedev - cоздание игр: Unity, OpenGL, DirectX | 8 | 18.01.2010 23:29 |
Закачка файла происходит в отдельном потоке. | Kyran29 | Работа с сетью в Delphi | 1 | 28.11.2009 01:19 |
Запрос к БД в отдельном потоке (Thread) | tyrell lab | БД в Delphi | 1 | 14.06.2007 08:42 |